Love2d и радиальная гравитация
Я нашел интересную статью о добавлении радиальной гравитации к box2d.
Http://www.vellios.com/2010/06/06/box2d-and-radial-gravity-code/
Чтобы перенести это в lua, мне нужно вычислить расстояние в квадрате и нормализовать расстояние.
Love2d, похоже, не имеет функций для извлечения соответствующего вектора, что является позором.
Если только у меня не будет недостатка в математике и кто-нибудь не сможет мне помочь.
Я всегда могу переключиться на box2d, но love2d кажется как аккуратное решение.
1 ответ:
Я нашел, как это сделать, используя библиотеку HAMP.
Вот так.
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())