summaryrefslogtreecommitdiffhomepage
path: root/examples/web/models/models_box_collisions.c
diff options
context:
space:
mode:
Diffstat (limited to 'examples/web/models/models_box_collisions.c')
-rw-r--r--examples/web/models/models_box_collisions.c66
1 files changed, 32 insertions, 34 deletions
diff --git a/examples/web/models/models_box_collisions.c b/examples/web/models/models_box_collisions.c
index 71fe55f..9aa63db 100644
--- a/examples/web/models/models_box_collisions.c
+++ b/examples/web/models/models_box_collisions.c
@@ -18,23 +18,23 @@
//----------------------------------------------------------------------------------
// Global Variables Definition
//----------------------------------------------------------------------------------
-int screenWidth = 800;
-int screenHeight = 450;
+const int screenWidth = 800;
+const int screenHeight = 450;
// Define the camera to look into our 3d world
Camera camera = {{ 0.0f, 10.0f, 10.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }, 45.0f };
-
+
Vector3 playerPosition = { 0.0f, 1.0f, 2.0f };
Vector3 playerSize = { 1.0f, 2.0f, 1.0f };
-Color playerColor;
-
+Color playerColor = GREEN;
+
Vector3 enemyBoxPos = { -4.0f, 1.0f, 0.0f };
Vector3 enemyBoxSize = { 2.0f, 2.0f, 2.0f };
-
+
Vector3 enemySpherePos = { 4.0f, 0.0f, 0.0f };
float enemySphereSize = 1.5f;
-
+
bool collision = false;
//----------------------------------------------------------------------------------
@@ -43,7 +43,7 @@ bool collision = false;
void UpdateDrawFrame(void); // Update and Draw one frame
//----------------------------------------------------------------------------------
-// Main Enry Point
+// Program Main Entry Point
//----------------------------------------------------------------------------------
int main(void)
{
@@ -51,14 +51,12 @@ int main(void)
//--------------------------------------------------------------------------------------
InitWindow(screenWidth, screenHeight, "raylib [models] example - box collisions");
- playerColor = GREEN;
-
#if defined(PLATFORM_WEB)
emscripten_set_main_loop(UpdateDrawFrame, 0, 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
{
@@ -81,40 +79,40 @@ void UpdateDrawFrame(void)
{
// Update
//----------------------------------------------------------------------------------
-
+
// Move player
if (IsKeyDown(KEY_RIGHT)) playerPosition.x += 0.2f;
else if (IsKeyDown(KEY_LEFT)) playerPosition.x -= 0.2f;
else if (IsKeyDown(KEY_DOWN)) playerPosition.z += 0.2f;
else if (IsKeyDown(KEY_UP)) playerPosition.z -= 0.2f;
-
+
collision = false;
-
+
// Check collisions player vs enemy-box
if (CheckCollisionBoxes(
- (BoundingBox){(Vector3){ playerPosition.x - playerSize.x/2,
- playerPosition.y - playerSize.y/2,
- playerPosition.z - playerSize.z/2 },
+ (BoundingBox){(Vector3){ playerPosition.x - playerSize.x/2,
+ playerPosition.y - playerSize.y/2,
+ playerPosition.z - playerSize.z/2 },
(Vector3){ playerPosition.x + playerSize.x/2,
- playerPosition.y + playerSize.y/2,
+ playerPosition.y + playerSize.y/2,
playerPosition.z + playerSize.z/2 }},
- (BoundingBox){(Vector3){ enemyBoxPos.x - enemyBoxSize.x/2,
- enemyBoxPos.y - enemyBoxSize.y/2,
- enemyBoxPos.z - enemyBoxSize.z/2 },
+ (BoundingBox){(Vector3){ enemyBoxPos.x - enemyBoxSize.x/2,
+ enemyBoxPos.y - enemyBoxSize.y/2,
+ enemyBoxPos.z - enemyBoxSize.z/2 },
(Vector3){ enemyBoxPos.x + enemyBoxSize.x/2,
- enemyBoxPos.y + enemyBoxSize.y/2,
+ enemyBoxPos.y + enemyBoxSize.y/2,
enemyBoxPos.z + enemyBoxSize.z/2 }})) collision = true;
-
+
// Check collisions player vs enemy-sphere
if (CheckCollisionBoxSphere(
- (BoundingBox){(Vector3){ playerPosition.x - playerSize.x/2,
- playerPosition.y - playerSize.y/2,
- playerPosition.z - playerSize.z/2 },
+ (BoundingBox){(Vector3){ playerPosition.x - playerSize.x/2,
+ playerPosition.y - playerSize.y/2,
+ playerPosition.z - playerSize.z/2 },
(Vector3){ playerPosition.x + playerSize.x/2,
- playerPosition.y + playerSize.y/2,
- playerPosition.z + playerSize.z/2 }},
+ playerPosition.y + playerSize.y/2,
+ playerPosition.z + playerSize.z/2 }},
enemySpherePos, enemySphereSize)) collision = true;
-
+
if (collision) playerColor = RED;
else playerColor = GREEN;
//----------------------------------------------------------------------------------
@@ -125,23 +123,23 @@ void UpdateDrawFrame(void)
ClearBackground(RAYWHITE);
- Begin3dMode(camera);
+ BeginMode3D(camera);
// Draw enemy-box
DrawCube(enemyBoxPos, enemyBoxSize.x, enemyBoxSize.y, enemyBoxSize.z, GRAY);
DrawCubeWires(enemyBoxPos, enemyBoxSize.x, enemyBoxSize.y, enemyBoxSize.z, DARKGRAY);
-
+
// Draw enemy-sphere
DrawSphere(enemySpherePos, enemySphereSize, GRAY);
DrawSphereWires(enemySpherePos, enemySphereSize, 16, 16, DARKGRAY);
-
+
// Draw player
DrawCubeV(playerPosition, playerSize, playerColor);
DrawGrid(10, 1.0f); // Draw a grid
- End3dMode();
-
+ EndMode3D();
+
DrawText("Move player with cursors to collide", 220, 40, 20, GRAY);
DrawFPS(10, 10);