summaryrefslogtreecommitdiffhomepage
path: root/examples/web/core/core_3d_picking.c
diff options
context:
space:
mode:
Diffstat (limited to 'examples/web/core/core_3d_picking.c')
-rw-r--r--examples/web/core/core_3d_picking.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/examples/web/core/core_3d_picking.c b/examples/web/core/core_3d_picking.c
index 01e0b7e..8dd8111 100644
--- a/examples/web/core/core_3d_picking.c
+++ b/examples/web/core/core_3d_picking.c
@@ -84,12 +84,16 @@ void UpdateDrawFrame(void)
if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON))
{
- ray = GetMouseRay(GetMousePosition(), camera);
-
- // Check collision between ray and box
- collision = CheckCollisionRayBox(ray,
- (BoundingBox){(Vector3){ cubePosition.x - cubeSize.x/2, cubePosition.y - cubeSize.y/2, cubePosition.z - cubeSize.z/2 },
- (Vector3){ cubePosition.x + cubeSize.x/2, cubePosition.y + cubeSize.y/2, cubePosition.z + cubeSize.z/2 }});
+ if (!collision)
+ {
+ ray = GetMouseRay(GetMousePosition(), camera);
+
+ // Check collision between ray and box
+ collision = CheckCollisionRayBox(ray,
+ (BoundingBox){(Vector3){ cubePosition.x - cubeSize.x/2, cubePosition.y - cubeSize.y/2, cubePosition.z - cubeSize.z/2 },
+ (Vector3){ cubePosition.x + cubeSize.x/2, cubePosition.y + cubeSize.y/2, cubePosition.z + cubeSize.z/2 }});
+ }
+ else collision = false;
}
//----------------------------------------------------------------------------------
@@ -122,7 +126,7 @@ void UpdateDrawFrame(void)
DrawText("Try selecting the box with mouse!", 240, 10, 20, DARKGRAY);
- if(collision) DrawText("BOX SELECTED", (screenWidth - MeasureText("BOX SELECTED", 30)) / 2, screenHeight * 0.1f, 30, GREEN);
+ if (collision) DrawText("BOX SELECTED", (screenWidth - MeasureText("BOX SELECTED", 30)) / 2, screenHeight * 0.1f, 30, GREEN);
DrawFPS(10, 10);