我试图通过单击游戏的右侧或左侧来移动我的玩家。虽然计算机上的一切都很好,但是当我在移动设备上尝试时,它总是向右移动,而经过多次尝试后,无论在何处按,它都开始向左移动。这是我的update
函数:
if (game.input.activePointer.isDown)
{
if (game.input.mousePointer.x > 600)
{
player.setVelocityX(160);
player.anims.play('right', true);
}
else if (game.input.mousePointer.x < 200)
{
player.setVelocityX(-160);
player.anims.play('left', true);
}
} else {
player.setVelocityX(0);
player.anims.play('turn', true);
}
答案 0 :(得分:0)
那是因为您使用的mousePointer
仅会看着鼠标。
来自the mousePointer documentation:
鼠标具有自己唯一的Pointer对象,如果制作桌面专用游戏,则可以直接引用该对象。如果同时支持桌面设备和触摸设备,则不要使用此属性,而应使用activePointer,它将始终映射到最近交互的指针。
根据您的所有逻辑切换到activePointer
,您应该被设置。
如果您正在使用物理,看起来可能是物理的,那么它稍微移动的原因可能与代码中其他地方的逻辑有关。这是我能想到的给您if
声明的唯一原因。