2012-11-18 45 views

回答

1

我认为这些人会稍微更合适比观察者模式的使用,这取决于实际要如何实现你的框架:

主题/观察者的麻烦在于,当敌人移动时,他们会涉及注册/注销在彼此的范围之内。

我会建议隐式调用或事件驱动如下:

  • 每次敌人视线中的播放器,生成一个“事件”是被广播到所有其他敌人。
  • 此事件将有一个坐标来指定广播的位置。
  • 对于接收事件(这是所有的)每个敌人,看协调,看看它是否在一定范围的本身
    • 如果不是,忽略它(并假装好像它从来没有听说过它)
    • 如果是这样,根据需要做一些事情。
+0

听起来不错,谢谢:) – SMC

+0

@ LinuxN00b:NP =)考虑接受这个答案,如果你发现它有助于你的问题 –