首页 > 解决方案 > 如何在 Phaser3 中的静态地图上循环/重新启动精灵移动

问题描述

我正在开发一款超级马里奥战争类型的游戏,并希望玩家能够穿过屏幕的右侧并最终到达左侧。就像你在下面看到的黄色马里奥一样:

理想情况下,它会像这样工作,角色可以从一侧完美地分割到另一侧。您是否见过这样的先例,或者是否有使用 Phaser3 的内置方法来做到这一点?

到目前为止,我有两个想法。我可以检查玩家是否在右侧的屏幕外,然后手动将x位置更改为左侧,但这不会有你在上面看到的很好的分割,所以需要有一些玩家不在的“盲点”完全没有看到。

我可以做的另一件事是复制一个玩家,如果他们在一侧离开屏幕,但这似乎有点过于复杂,并且可能会导致边缘情况出现问题。

注意:这是他们在原始游戏中的做法,但我认为这不会给我在 Phaser: flipsidesifneeded中的分裂效果。

标签: javascriptphaser-framework

解决方案


您可以尝试与原始游戏中相同的测试,只需尝试类似这样的操作

if (player.x < 0){
    player.x = 640
} else if (player.x > 640){
    player.x = 0
}

更多在这个 jsfiddle https://jsfiddle.net/nazimboudeffa/L7pqd5h6/


推荐阅读