【发布时间】:2014-04-07 01:28:37
【问题描述】:
我是 pygame 的新手,我正在开发一款分布式点对点多人游戏。我尝试执行以下操作,但我无法弄清楚如何。
我有一个玩家类和一个敌人类。玩家和敌人都是不同精灵组的一部分。假设在一个 4 人游戏中,有一个玩家对象和 3 个敌方对象,当玩家开火时,我使用 spritecollide 方法检查与敌方精灵组的碰撞。但我想具体确定在精灵组中哪个敌人被击中。我完全无法弄清楚。这甚至可能吗?
【问题讨论】:
我是 pygame 的新手,我正在开发一款分布式点对点多人游戏。我尝试执行以下操作,但我无法弄清楚如何。
我有一个玩家类和一个敌人类。玩家和敌人都是不同精灵组的一部分。假设在一个 4 人游戏中,有一个玩家对象和 3 个敌方对象,当玩家开火时,我使用 spritecollide 方法检查与敌方精灵组的碰撞。但我想具体确定在精灵组中哪个敌人被击中。我完全无法弄清楚。这甚至可能吗?
【问题讨论】:
听起来敌人对象和玩家对象可以做同样的事情,也许您应该为enemy 和player 提供一个通用类。
这可以称为例如creature 类。然后根据creature 是enemy 还是player,您可以使用EnemyAI 类或UserInput 类来控制它。
至于识别谁被击中,您可以在声明新的creature 时定义的每个creature 类中轻松添加name 变量。然后,当您评估命中时,您可以让函数返回被命中的creature 的name。
【讨论】: