【发布时间】:2014-05-21 13:45:22
【问题描述】:
我正在开发一款游戏,其中角色的弹跳与“Flappy Bird”角色非常相似。
我让它运行良好,但我正在使用touch event 处理弹跳效果,当用户double touches 真的很快时,它基本上是在播放器后面的doubles the force。
另外,举个例子,如果玩家是dropping 来自higher height,那么gravity 似乎太多了,我必须多次touch 才能恢复播放器,而我只是似乎无法弄清楚如何使每个touch 与字符bounces 的数量一致。
这是我的反弹效果函数:
function flyUp(event)
if event.phase == "began" then
if gameStarted == false then
player.bodyType = "dynamic"
instructions.alpha = 0
tb.alpha = 1
addColumnTimer = timer.performWithDelay(1000, addColumns, -1)
moveColumnTimer = timer.performWithDelay(2, moveColumns, -1)
gameStarted = true
player:applyForce(0, -300, player.x, player.y)
else
player:applyForce(0, -460, player.x, player.y)
end
end
end
...这里是我的玩家被定义为物理体的地方:
physics.addBody(player, "static",
{ density=.106, bounce=.1, friction=1, radius = 30 })
任何帮助都将不胜感激,我只是希望玩家无论点击多少次和下降多少都始终向上移动相同的数量。
谢谢
【问题讨论】: