嘿,我有这个问题,如果我点按并按住屏幕,播放器会在Y上加快速度。
我更喜欢的是玩家点击屏幕(并保持浮动)并且他以稳定的速度上升(没有更快)。
以下是浮动速度和触摸事件的功能:
function activateJets(ship,event)
ship:applyForce(0, -1.0, ship.x, ship.y)
print("run")
end
function touchScreen(event)
print("touch")
if event.phase == "began" then
ship.enterFrame = activateJets
Runtime:addEventListener("enterFrame", ship)
end
if event.phase == "ended" then
Runtime:removeEventListener("enterFrame", ship)
end
end
Runtime:addEventListener("touch", touchScreen)
很抱歉,如果这没有意义。以下是我想要的一般概念:
答案 0 :(得分:0)
所涉及的物理学阻止你这样做:你正在向你的船施加恒定的力量。根据牛顿定律(由物理库模拟),这意味着恒定的加速度,因此速度线性增加。
您想要的行为(与真实物理不一致)是即时加速到您的目标速度,然后没有速度变化。因此,使用activateJets
函数中的shipSetLinearVelocity()
将船速设置为恒定值就足够了。当然,触摸结束时应将速度重置为零。