移动时阻止玩家滑动

时间:2016-05-06 00:29:19

标签: javascript html5 phaser-framework

我正在Phaser做一个游戏。当我的播放器向左或向右移动时,它会在停止前继续移动一会儿。有没有办法可以阻止这种情况获得更敏感的动作?

代码是这样的:

if(cursors.left.isDown){
    player.body.velocity.x += -20;
}

1 个答案:

答案 0 :(得分:1)

如果您想立即停止player,只需将player.body.velocity.x设置为0。

player.body.velocity.x = 0;

许多官方教程(例如此Mass Velocity Test)都显示了此示例。在这种情况下,他们实际上在update()调用开始时将x和y速度重置为0。这样可以立即停止和启动。

如果由于某种原因你想要加速但是立即停止,你可能只是使用其他。

if (cursors.left.isDown) {
    player.body.velocity.x += -20;
} else {
    player.body.velocity.x = 0;
}

您还可以将速度存储在变量中,然后在if语句中使用它。未测试的:

currentVelocity = player.body.velocity.x;
player.body.velocity.x = 0;

if (cursors.left.isDown) {
    player.body.velocity.x = currentVelocity - 20;
}