【发布时间】:2009-09-17 19:00:55
【问题描述】:
我已经编写了一个客户端基于服务器的多人游戏,并且已经完成了基础(这是一个用 actionscript 3 编写的 flash 客户端)。下一步将实施一个系统,让我可以轻松地为游戏添加能力。
这里的问题是一个能力可以做很多事情。例如。玩家 A 对玩家 B 使用能力“修复”,将会发生以下情况:
- 玩家 A 向服务器发送消息,告知该操作
- 玩家 A 现在在自己的船上显示“修复铸造”动画
- 服务器必须通知船 A 附近的所有玩家现在有“修复铸造”动画
- 服务器必须增加玩家 B 的“生命值”,因为它已被玩家 A 修复
- 服务器必须通知附近的所有玩家,玩家 B 现在有不同的健康值
- 服务器必须通知附近的所有玩家,玩家 B 应该显示“正在修复”动画
这只是一个例子,对于一个简单的能力,很多事情都必须发生。我可以进入每个对象并为这个咒语添加代码行。但是,当我需要添加很多(约 50 个)能力时,这将变得一团糟。另请注意,有些能力与其他能力完全不同,有些必须显示动画,有些则不需要。有些必须损坏,有些必须增加统计数据,等等。
那么,这种“能力系统”通常是如何处理客户端和服务端的呢?
【问题讨论】:
标签: actionscript-3