| ||||||||
事件机制在很多高级程序设计语言中都有支持。譬如VB、C#(delegate)、C++Builder(并不属于C++的范畴。C++Builder中的事件处理器必须用关键字closure<闭包>修饰)等等,甚至在HTML中也可以见到它的身影。事件机制的引入使软件系统变得更加易于理解——它使一种语言(平台)更加接近于这个世界的真相。事情的发展变得像现实世界中那样顺理成章。某一事件的产生引发了一系列其他事件的产生,这些事件要么是结果要么又会引发一系列事件的产生……如此这般,信息才得以在事件的新陈代谢中延续,世界才得以向前发展。在某些游戏设计过程中的一项重要任务就是模拟现实世界的某些特征,以期实现机器与用户的更加亲密的沟通。事件机制就是很好的一例。我们需要事件来使我们的系统更加人性化。 我想,在我继续进行下面对讨论之前,先简单介绍一下“事件”这个东东。 1. 游戏中的事件机制 联系是普遍存在的。事事有联系、时时有联系,整个世界是一个相互联系的统一整体。一个人的行为、物的状态的改变或事的进展过程的某一阶段可以引发一个事件。一个事件的发生或许会引发另外的事件——通过人的感知、大脑的反映,然后作出决策,付诸行动——也或许,就这么蒸发掉,无人知晓。但无论如何,在这一过程中,我们总能抽象出一些实质性的东西来。就像下面的图示:
在游戏中:
初始化一个 CustomEvent 类时必须同时传入一个 Condition 类。Condition 类必须被继承。Test()方法在适当的时候被调用以检测是否可以引发这个事件。 |
游戏框架设计—— 游戏中的事件机制
最新推荐文章于 2025-02-14 20:43:31 发布