|
Project Information
|
概述:触发器模式- 程序员所做的就是开发框架,制定功能实现方案。脚本为了与整个游戏框架交互,我们制定了“触发器“这个概念,大概就是一种事件系统。 这个触发器系统,简单来说,就是提供一种“关心“、”通知“的交互方式,也就是一般意义上的事件机制。例如,脚本中告诉程序它关心某个对象的移动,那么当程序中该对象产生移动时,就通知脚本。脚本中可以关心很多东西,包括对象属性,其关心的方式包括属性值改变、变大、变小,各种变化形式;对象开始移动,移动停止;对象碰撞,这个会单独谈谈;定时器等。 除了触发器系统外,还有个较大的系统是游戏对象的属性系统。对象的属性必然是游戏逻辑中策划最关心最容易改动的模块。既然我们程序的大方向是尽可能地不关心策划需求,所以对象属性在设计上就不可能去编写某个具体属性,更不会编写这个属性相关的逻辑功能。简单来说,程序为每个对象维护一个key-value表,也就是属性名、属性值表。该表的内容由脚本填入,脚本享有存取权限。然后脚本中就可以围绕某个属性来编写功能,而程序仅起存储作用。 引擎并不包含功能,或者是引擎并不包含逻辑。比方说,你TM要写一套组队功能,对不起,我的引擎不管你这事儿。原则上我们的源代码是不关注具体逻辑的实现,但开发过程中为了验证某些思想的正确性,还是会写出一到两个功能模块来做测试,仅作参考 作者:黄诚 QQ:262327731 |