我有更多的设计问题,然后是专门编程。基本上,我正在使用 cocos2d(即将迁移到 sprite kit)开发一个等距风格地图风格的游戏,并且我正在尝试找出一些最佳实践来为敌人的 sprite 实现 AI。
这是我的基本逻辑:
- 敌人确定玩家的位置和玩家所在的角度 - 敌人将根据这个角度移动单个图块(即左、右、上、下、左上等......) - 敌人将动画显示 ccaction他们朝那个方向移动 - 如果玩家和敌人的距离小于 X,那么敌人将向玩家开火 - 如果玩家和敌人的距离小于 Y,那么敌人将朝着与玩家相反的瓷砖方向移动 - 如果敌人检测到未来的瓷砖移动是碰撞,敌人不会移动
这是一个非常基本的逻辑,我遇到了两个问题: - 当敌人检测到碰撞时,它将完全停止移动 - 在玩家与敌人之间的某些角度,精灵图像将在 2 之间来回闪烁不同的边界角度 - 因为我有许多精灵在一个点产生,它们都在同一个方向移动并且完全重叠,我想尝试将它们分开而不在地图上产生大量的产生点(到目前为止有 5 个产生点,每个产生大约 4-5 个敌人)
我想看看那里是否有人对如何使这个更复杂有任何好的指示,我可以潜在地避免这些问题并为敌人的精灵开发更多的“智能”。
任何信息,将不胜感激。