diff options
Diffstat (limited to 'examples/web/core/core_3d_picking.c')
| -rw-r--r-- | examples/web/core/core_3d_picking.c | 18 |
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); |
