diff options
Diffstat (limited to 'projects/VSCode/main.c')
| -rw-r--r-- | projects/VSCode/main.c | 79 |
1 files changed, 53 insertions, 26 deletions
diff --git a/projects/VSCode/main.c b/projects/VSCode/main.c index 835b4b08..2d7b121f 100644 --- a/projects/VSCode/main.c +++ b/projects/VSCode/main.c @@ -15,12 +15,30 @@ * This example has been created using raylib 1.0 (www.raylib.com) * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) * -* Copyright (c) 2013-2020 Ramon Santamaria (@raysan5) +* Copyright (c) 2013-2022 Ramon Santamaria (@raysan5) * ********************************************************************************************/ #include "raylib.h" +#if defined(PLATFORM_WEB) + #include <emscripten/emscripten.h> +#endif + +//---------------------------------------------------------------------------------- +// Local Variables Definition (local to this module) +//---------------------------------------------------------------------------------- +Camera camera = { 0 }; +Vector3 cubePosition = { 0 }; + +//---------------------------------------------------------------------------------- +// Local Functions Declaration +//---------------------------------------------------------------------------------- +static void UpdateDrawFrame(void); // Update and draw one frame + +//---------------------------------------------------------------------------------- +// Main entry point +//---------------------------------------------------------------------------------- int main() { // Initialization @@ -30,7 +48,6 @@ int main() InitWindow(screenWidth, screenHeight, "raylib"); - Camera camera = { 0 }; camera.position = (Vector3){ 10.0f, 10.0f, 8.0f }; camera.target = (Vector3){ 0.0f, 0.0f, 0.0f }; camera.up = (Vector3){ 0.0f, 1.0f, 0.0f }; @@ -39,45 +56,55 @@ int main() SetCameraMode(camera, CAMERA_ORBITAL); - Vector3 cubePosition = { 0 }; + //-------------------------------------------------------------------------------------- +#if defined(PLATFORM_WEB) + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); +#else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- // Main game loop while (!WindowShouldClose()) // Detect window close button or ESC key { - // Update - //---------------------------------------------------------------------------------- - UpdateCamera(&camera); - //---------------------------------------------------------------------------------- + UpdateDrawFrame(); + } +#endif + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); + return 0; +} - ClearBackground(RAYWHITE); +// Update and draw game frame +static void UpdateDrawFrame(void) +{ + // Update + //---------------------------------------------------------------------------------- + UpdateCamera(&camera); + //---------------------------------------------------------------------------------- - BeginMode3D(camera); + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); - DrawCube(cubePosition, 2.0f, 2.0f, 2.0f, RED); - DrawCubeWires(cubePosition, 2.0f, 2.0f, 2.0f, MAROON); - DrawGrid(10, 1.0f); + ClearBackground(RAYWHITE); - EndMode3D(); + BeginMode3D(camera); - DrawText("This is a raylib example", 10, 40, 20, DARKGRAY); + DrawCube(cubePosition, 2.0f, 2.0f, 2.0f, RED); + DrawCubeWires(cubePosition, 2.0f, 2.0f, 2.0f, MAROON); + DrawGrid(10, 1.0f); - DrawFPS(10, 10); + EndMode3D(); - EndDrawing(); - //---------------------------------------------------------------------------------- - } + DrawText("This is a raylib example", 10, 40, 20, DARKGRAY); - // De-Initialization - //-------------------------------------------------------------------------------------- - CloseWindow(); // Close window and OpenGL context - //-------------------------------------------------------------------------------------- + DrawFPS(10, 10); - return 0; + EndDrawing(); + //---------------------------------------------------------------------------------- }
\ No newline at end of file |
