2011-01-25 13 views
5

He encontrado un artículo interesante sobre la adición de gravedad radial a box2d.Love2d y gravedad radial

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

Para este puerto a lua aunque necesito para calcular la distancia al cuadrado y normalizar la distancia.

Love2d no parece tener las funciones para extraer el vector apropiado, lo cual es una pena.

A menos que mis matemáticas falten y alguien pueda ayudarme.

Siempre puedo cambiar a box2d pero love2d me pareció una buena solución.

Respuesta

4

He encontrado cómo hacerlo usando la biblioteca HUMP.

Me gusta.

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())