使用键盘输入控制角色的 Corona SDK 尝试

如果 (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"

点赞
用户10111401
用户10111401

你的监听器只会在事件.phase被设置为“down”时运行一次,每次按键只会将你的角色向右移动5像素。

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

这将持续移动你的对象,所以为了阻止Chr移动,当事件.phase被设置为“up”时你必须调用object:setLinearVelocity( 0, 0)

2019-04-17 16:07:29