Math 根据桨.x运动计算球.x
我正在做一个简单的突破游戏,我有点被“胶水”的效果卡住了- 球撞击桨,然后停留在它落在桨上的位置。我的问题是根据桨.x的运动计算Math 根据桨.x运动计算球.x,math,lua,Math,Lua,我正在做一个简单的突破游戏,我有点被“胶水”的效果卡住了- 球撞击桨,然后停留在它落在桨上的位置。我的问题是根据桨.x的运动计算ball.x,使球停留在它落在桨上的相同位置 这是我的密码: function dragPaddle(event) if event.phase == "began" then moveX = event.x - paddle.x elseif event.phase == "moved
ball.x
,使球停留在它落在桨上的相同位置
这是我的密码:
function dragPaddle(event)
if event.phase == "began" then
moveX = event.x - paddle.x
elseif event.phase == "moved" then
paddle.x = event.x - moveX
if glueIsOn == "on" and ballOnGlue == "on" then
ball.x = (paddle.x - ball.x)
end
end
在这里通常要做的事情是计算出你的桨的位置改变了多少,然后根据这个量修改桨和球。但您的代码似乎使用了更为全局的方法 在您的情况下,最简单的方法可能是计算球粘在一起的相对位置。在更新
paile.x
之前执行此操作:
ballDeltaX = ball.x - paddle.x
paddle.x = event.x - moveX
然后,如果你粘在一起,你只需在桨位置改变后再次使用三角板:
ball.x = paddle.x + ballDeltaX
你为什么不做
ball.x=桨.x
?移动桨后,球将始终位于中心