javascript - 如何在 Phaser3 中的静态地图上循环/重新启动精灵移动
问题描述
我正在开发一款超级马里奥战争类型的游戏,并希望玩家能够穿过屏幕的右侧并最终到达左侧。就像你在下面看到的黄色马里奥一样:
理想情况下,它会像这样工作,角色可以从一侧完美地分割到另一侧。您是否见过这样的先例,或者是否有使用 Phaser3 的内置方法来做到这一点?
到目前为止,我有两个想法。我可以检查玩家是否在右侧的屏幕外,然后手动将x
位置更改为左侧,但这不会有你在上面看到的很好的分割,所以需要有一些玩家不在的“盲点”完全没有看到。
我可以做的另一件事是复制一个玩家,如果他们在一侧离开屏幕,但这似乎有点过于复杂,并且可能会导致边缘情况出现问题。
注意:这是他们在原始游戏中的做法,但我认为这不会给我在 Phaser: flipsidesifneeded中的分裂效果。
解决方案
您可以尝试与原始游戏中相同的测试,只需尝试类似这样的操作
if (player.x < 0){
player.x = 640
} else if (player.x > 640){
player.x = 0
}
更多在这个 jsfiddle https://jsfiddle.net/nazimboudeffa/L7pqd5h6/
推荐阅读
- python - 如何在opencv中定义阈值以便将整行放在一起,包括python中的空间
- javascript - 如何发送时区以及日期时间格式?
- javascript - NPM nodemon和调试终端没有输出
- postgresql - 无法在 Rails DB 上验证 Postgresql 和/或编辑 VIM 文件
- javascript - Angular:ngFor数据项并在为空时显示自定义消息
- oracle - 复合唯一标识符和禁止关系
- reactjs - 如何解决网络不稳定问题和网络请求在本机反应中失败
- bash - 将路径传递给带有变量的 BASH 脚本
- azure - 某些东西阻止了 Azure 上 Ubuntu localhost 中的流量
- c++ - 在 CMake 中添加全局编译标志