aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorRay <raysan5@gmail.com>2019-05-21 10:16:39 +0200
committerRay <raysan5@gmail.com>2019-05-21 10:16:39 +0200
commit3dfbeb54884d992c9c080e1cc76e8273a6fc8ceb (patch)
treeb49de2b662225680f215e105f5885cfd94e38cfd /examples
parent316b6aa1813fb8f5cd56ea135368de73eccc49f6 (diff)
downloadraylib-3dfbeb54884d992c9c080e1cc76e8273a6fc8ceb.tar.gz
raylib-3dfbeb54884d992c9c080e1cc76e8273a6fc8ceb.zip
Update core_3d_picking.c
Diffstat (limited to 'examples')
-rw-r--r--examples/core/core_3d_picking.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/examples/core/core_3d_picking.c b/examples/core/core_3d_picking.c
index 1e60c03b..baf35036 100644
--- a/examples/core/core_3d_picking.c
+++ b/examples/core/core_3d_picking.c
@@ -21,7 +21,7 @@ int main(void)
InitWindow(screenWidth, screenHeight, "raylib [core] example - 3d picking");
// Define the camera to look into our 3d world
- Camera camera;
+ Camera camera = { 0 };
camera.position = (Vector3){ 10.0f, 10.0f, 10.0f }; // Camera position
camera.target = (Vector3){ 0.0f, 0.0f, 0.0f }; // Camera looking at point
camera.up = (Vector3){ 0.0f, 1.0f, 0.0f }; // Camera up vector (rotation towards target)
@@ -31,7 +31,7 @@ int main(void)
Vector3 cubePosition = { 0.0f, 1.0f, 0.0f };
Vector3 cubeSize = { 2.0f, 2.0f, 2.0f };
- Ray ray = {0.0f, 0.0f, 0.0f}; // Picking line ray
+ Ray ray = { 0 }; // Picking line ray
bool collision = false;
@@ -49,12 +49,16 @@ int main(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;
}
//----------------------------------------------------------------------------------