2DPhysics_PointCollision.lua 630 B

123456789101112131415161718192021
  1. scene = PhysicsScene2D(0.01, 50)
  2. lastEntity = nil
  3. for i=0,50 do
  4. shape = ScenePrimitive(ScenePrimitive.TYPE_VPLANE, 0.1,0.02)
  5. shape:setRoll(random(360))
  6. shape:setPosition(-0.5 + random(), -0.5 + random())
  7. scene:addCollisionChild(shape, PhysicsScene2DEntity.ENTITY_RECT)
  8. end
  9. function onMouseMove(x,y)
  10. if lastEntity ~= nil then lastEntity:setColor(1.0,1.0,1.0,1.0) end
  11. ray = scene:projectRayFromCameraAndViewportCoordinate(scene:getActiveCamera(), Vector2(x,y))
  12. local entity = scene:getEntityAtPosition(ray.origin.x, ray.origin.y)
  13. if entity ~= nil then
  14. entity:setColor(1.0, 0.0, 0.0, 1.0)
  15. lastEntity = entity
  16. end
  17. end