mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-11-22 21:52:31 +03:00
Merge 68d2251332
into a7068ea636
This commit is contained in:
commit
0c31245dd2
126
pt-br/raylib-pt.html.markdown
Normal file
126
pt-br/raylib-pt.html.markdown
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
---
|
||||||
|
category: framework
|
||||||
|
framework: raylib
|
||||||
|
filename: learnraylib-pt.c
|
||||||
|
contributors:
|
||||||
|
- ["Nikolas Wipper", "https://notnik.cc"]
|
||||||
|
lang: pt-br
|
||||||
|
translators:
|
||||||
|
- ["Luiz Bills", "https://github.com/luizbills"]
|
||||||
|
---
|
||||||
|
|
||||||
|
**raylib** é uma biblioteca gráfica multiplataforma fácil de usar, construída em torno do OpenGL 1.1, 2.1, 3.3 e OpenGL ES 2.0. Embora seja escrito em C, possui *bindings* em mais de 50 linguages diferentes. Este tutorial usará C, mais especificamente C99.
|
||||||
|
|
||||||
|
```c
|
||||||
|
#include <raylib.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
const int larguraJanela = 800;
|
||||||
|
const int alturaJanela = 450;
|
||||||
|
|
||||||
|
// Antes de iniciar a raylib nós podemos definir algumas configurações
|
||||||
|
SetConfigFlags(FLAG_MSAA_4X_HINT | FLAG_VSYNC_HINT);
|
||||||
|
|
||||||
|
// raylib não necessita que salvamos nenhuma instância
|
||||||
|
// até o momento raylib só pode ter controlar uma janela por vez
|
||||||
|
InitWindow(larguraJanela, alturaJanela, "MinhaJanela");
|
||||||
|
|
||||||
|
// Faz nosso jogo rodar a 60 quadros por segundo (60 FPS)
|
||||||
|
SetTargetFPS(60);
|
||||||
|
|
||||||
|
// Define uma tecla para fechar a janela do jogo
|
||||||
|
// Use 0 para nenhuma tecla
|
||||||
|
SetExitKey(KEY_DELETE);
|
||||||
|
|
||||||
|
// raylib tem dois tipos de cameras: Camera3D e Camera2D
|
||||||
|
// Camera é um typedef da Camera3D
|
||||||
|
Camera camera = {
|
||||||
|
.position = {0.0f, 0.0f, 0.0f},
|
||||||
|
.target = {0.0f, 0.0f, 1.0f},
|
||||||
|
.up = {0.0f, 1.0f, 0.0f},
|
||||||
|
.fovy = 70.0f,
|
||||||
|
.projection = CAMERA_PERSPECTIVE
|
||||||
|
};
|
||||||
|
|
||||||
|
// raylib suporta carregar modelos, animações, imagens and sons
|
||||||
|
// de vários formatos de arquivos diferentes
|
||||||
|
Model myModel = LoadModel("my_model.obj");
|
||||||
|
Font someFont = LoadFont("some_font.ttf");
|
||||||
|
|
||||||
|
// WindowShouldClose() checa se estão tentando fechar a janela
|
||||||
|
while (!WindowShouldClose())
|
||||||
|
{
|
||||||
|
|
||||||
|
// BeginDrawing() precisa se chamado antes de renderizar
|
||||||
|
// qualquer coisa na tela
|
||||||
|
BeginDrawing();
|
||||||
|
{
|
||||||
|
|
||||||
|
// Define uma cor de fundo
|
||||||
|
ClearBackground(BLACK);
|
||||||
|
|
||||||
|
// checa se uma tecla está sendo pressionada
|
||||||
|
if (IsKeyDown(KEY_SPACE)) {
|
||||||
|
// Mostra um circulo
|
||||||
|
DrawCircle(
|
||||||
|
400, // posição x
|
||||||
|
400, // posição y
|
||||||
|
30, // raio
|
||||||
|
GREEN // cor verde
|
||||||
|
);
|
||||||
|
|
||||||
|
// Para muitas funções haverá diversas versões
|
||||||
|
// Que terão os sufixos Ex, Pro, V, Lines (apenas 2D),
|
||||||
|
// or algumas vezes Rec, Wires (apenas 3D)
|
||||||
|
DrawCircleLines(
|
||||||
|
200, // posição x
|
||||||
|
200, // posição y
|
||||||
|
35, // raio
|
||||||
|
LIGHTGRAY // cor cinza claro
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Mostra um texto
|
||||||
|
DrawText("Parabéns! Você criou sua primeira janela!",
|
||||||
|
190, // posição x
|
||||||
|
200, // posição y
|
||||||
|
20, // tamanho da fonte
|
||||||
|
LIGHTGRAY // cor
|
||||||
|
);
|
||||||
|
|
||||||
|
// Obrigatório para gráficos 3D, também tem 2D
|
||||||
|
BeginMode3D(camera);
|
||||||
|
{
|
||||||
|
// desenha um cubo
|
||||||
|
DrawCube(
|
||||||
|
(Vector3) {0.0f, 0.0f, 5.0f},
|
||||||
|
1.0f,
|
||||||
|
1.0f,
|
||||||
|
1.0f,
|
||||||
|
RED
|
||||||
|
);
|
||||||
|
}
|
||||||
|
// Encerra o modo 3D
|
||||||
|
EndMode3D();
|
||||||
|
}
|
||||||
|
// EndDrawing() precisa se chamado depos de renderizar tudo
|
||||||
|
EndDrawing();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Descarrega (limpa da memória) objetos carregados
|
||||||
|
UnloadFont(someFont);
|
||||||
|
UnloadModel(myModel);
|
||||||
|
|
||||||
|
// Fecha a janela e encerra o contexto OpenGL
|
||||||
|
CloseWindow();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Continue lendo
|
||||||
|
|
||||||
|
No site oficial da raylib tem [ótimos exemplos](https://www.raylib.com/examples.html).
|
||||||
|
|
||||||
|
Se você não gosta de linguagem C você pode usar com outras linguagens usando [bindings](https://github.com/raysan5/raylib/blob/master/BINDINGS.md).
|
Loading…
Reference in New Issue
Block a user