将一个对象指向我的鼠标,但它没有指向正确的方向
Pointing an object at my mouse, but it isn't pointing in the right way
所以我想做一个圆形的乒乓球游戏,我现在正在做球拍
在我的 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文件,在update函数中不断执行调用者给的函数)
它确实指向鼠标,但不是我想要的方式。目前,它就像 this(由于截图工具无法捕捉鼠标,所以我不得不画出它所在的位置,因此插图很糟糕)
相反,我希望它像 this
球拍的锚点位于中间,因为它在 x 轴和 y 轴上分别偏移了宽度和高度的一半。 (这是一个图像文件,因为你不能真正旋转 love.graphics.rectangle 个对象)
有人知道如何解决这个问题吗?
要再旋转 90°,替换
self.rot=math.atan2((mouseY - self.y), (mouseX - self.x))
和
self.rot=math.atan2((mouseX - self.x), -(mouseY - self.y))
所以我想做一个圆形的乒乓球游戏,我现在正在做球拍
在我的 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文件,在update函数中不断执行调用者给的函数)
它确实指向鼠标,但不是我想要的方式。目前,它就像 this(由于截图工具无法捕捉鼠标,所以我不得不画出它所在的位置,因此插图很糟糕)
相反,我希望它像 this
球拍的锚点位于中间,因为它在 x 轴和 y 轴上分别偏移了宽度和高度的一半。 (这是一个图像文件,因为你不能真正旋转 love.graphics.rectangle 个对象)
有人知道如何解决这个问题吗?
要再旋转 90°,替换
self.rot=math.atan2((mouseY - self.y), (mouseX - self.x))
和
self.rot=math.atan2((mouseX - self.x), -(mouseY - self.y))