У меня есть объект, который непрерывно вращается, и он запускает пули. Я хочу, чтобы пули продвигались вперед в соответствии с их направлением.Переместить объект в направлении его вращения
physics.setGravity(0, 0)
fireBullets = function ()
local bullet = display.newRect(sceneGroup,0,0, 40, 40)
bullet:setFillColor(0, 1, 0)
local h = player.height
local posX = h * math.sin(math.rad(player.rotation))
local posY = h * math.cos(math.rad(player.rotation))
bullet.x = player.x + posX
bullet.y = player.y - posY
bullet.rotation = player.rotation
Пока все хорошо, пули появляются с точным вращением плеера.
local angle = math.rad(bullet.rotation)
local xDir = math.cos(angle)
local yDir = math.sin(angle)
physics.addBody(bullet, "dynamic")
bullet:setLinearVelocity(xDir * 100, yDir * 100)
end
Они не двигаются вперед в соответствии с их направлением, они, похоже, двигаются вправо. Что случилось с моими расчетами?
Спасибо очень много. – Abdou023