2011-01-25 30 views
5

Tôi đã tìm thấy một bài viết thú vị về việc thêm lực hấp dẫn hướng tâm vào hộp2d.Love2d và lực hấp dẫn xuyên tâm

http://www.vellios.com/2010/06/06/box2d-and-radial-gravity-code/

Để cổng này để lua dù tôi cần phải tính toán khoảng cách bình phương và bình thường hóa từ xa.

Love2d dường như không có chức năng trích xuất vectơ thích hợp, điều này thật đáng tiếc.

Trừ khi toán học của tôi còn thiếu và ai đó có thể giúp tôi.

Tôi có thể chuyển đổi thành box2d nhưng love2d có vẻ như một giải pháp gọn gàng.

Trả lời

4

Tôi đã tìm cách thực hiện việc đó bằng thư viện HUMP.

Như thế này.

ship = bodies[1] 
shipVec = vector(ship:getX(),ship:getY()) 
planet = bodies[2] 
planetVec = vector(planet:getX(),planet:getY()) 
distance = planetVec – shipVec 
force = 250/distance:len2() 
normforce = force*distance 
bodies[1]:applyImpulse(normforce.x, normforce.y,ship:getX(),ship:getY()) 
Các vấn đề liên quan