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”向右移动>
答案 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)
。