试图通过键盘输入控制字符的电晕SDK

时间:2019-03-17 16:26:58

标签: lua corona

if (event.keyName == 'd' and event.phase == 'down'  ) then

Chr.xScale =  1
Chr.x = Chr.x + 5
Chr:setSequence("Run")
Chr:play()
return true
end

我正在尝试将“ Chr”向右移动,但是当我要移动他时,每次必须按一次以移动“ Chr”,如何按住d来将“ Chr”向右移动

1 个答案:

答案 0 :(得分:0)

您的监听器仅在一次key.event.phase设置为“ down”的情况下运行一次,因此您只能将Chr对象向右移动5个像素。

对此的一种解决方案是在对象中添加一个物理物体,然后使用object:setLinearVelocity( xVelocity, yVelocity )https://docs.coronalabs.com/api/type/Body/setLinearVelocity.html)设置速度

然后,它将连续移动您的对象,以使Chr停止移动,您必须在event.phase设置为“ up”时调用object:setLinearVelocity( 0, 0)