Наведение объекта на мою мышь, но он указывает не в том направлении

Итак, я пытаюсь сделать игру в круговой понг, и в данный момент я делаю весло.

В моем main.lua у меня есть этот код внутри love.update:

pad:update(
function(dt,self)
    local mouseX,mouseY=love.mouse.getPosition()
    self.rot=math.atan2((mouseY - self.y), (mouseX - self.x))
    self.x = circleRadius*math.cos(self.r) + self.orgX;
    self.y = circleRadius*math.sin(self.r) + self.orgY;
    self.r=self.r+.5*dt


end,
dt
)

(Paddle.lua, paddle-файл, постоянно выполняет функцию, заданную вызывающей стороной в функции обновления)

Он указывает на мышь, но не так, как я хочу. В настоящее время это похоже на это (плохо проиллюстрировано, так как инструмент "Ножницы" не захватывает мышь, поэтому мне приходится рисовать где бы это было)

Вместо этого я хочу, чтобы это было похоже на этот

Точка привязки весла находится посередине, так как она смещена по осям x и y на половину ширины и высоты соответственно. (это файл изображения, так как вы не можете вращать объекты love.graphics.rectangle)

Кто-нибудь знает, как это исправить?


person Ducktor    schedule 03.05.2017    source источник


Ответы (1)


Чтобы повернуть еще на 90°, замените

self.rot=math.atan2((mouseY - self.y), (mouseX - self.x))

с

self.rot=math.atan2((mouseX - self.x), -(mouseY - self.y))
person Egor Skriptunoff    schedule 03.05.2017