如何处理Phaser Js中的敌人射击



我正在PhaserJS中为一个大学项目制作自上而下的射击游戏。所以,我在竞技场里有一辆坦克,还有其他敌人的坦克。我的问题是如何处理敌人的射击,因为我希望他们只有在看到我的时候才射击,也就是说,只有当他们的方向与玩家的方向相交时。如果你愿意,我可以发布代码,但我的问题是,是否存在这样的函数,或者我如何做到这一点?提前感谢大家!

根据您的游戏机制(障碍物、敌人…(何时应该看到玩家,解决方案可能包括:

  • 基本:仅使用Phaser.Geom.Intersects的函数命名空间,如LineToRectangleLineToLine(文档化(
  • 高级:某种类型的光线投射和交叉点检查。光线投射可以使用phaser3插件完成https://github.com/wiserim/phaser-raycaster,在codepen上有一些关于这个插件的例子。但这个可能特别适合您的问题(如果您想要高级选项(

最新更新