传说,面向对象的开发模式最初是因为程序员偷懒而不小心诞生的。发展至今,人们从最初的热忠于 讨论某某语言是否足够面向对象到现在开始更广泛的关注面向对象的思想而不是具体内容。面向对象的思 想其实并不深奥,它存在的目的只有一个:让程序开发更贴近我们的现实世界。
还记得猫、猫叫;狗、狗吃东西吗?无数的程序员都喜欢将此类似的情形设计当作面向对象最好的例 子。是的,非常生动且形象;但实际运用中你是否能真正做到举一反三?
回述到游戏设计中,大家是否时常会感觉游戏世界与我们的真实世界如此贴近?游戏中的精灵好比我 们人类,更广泛的,你可以将精灵看做游戏世界中任意的生命体。在现实世界里,“人”是我这样的家伙 的统称,“人”可以站立,可以移动,可以战斗,可以受伤,可以死亡;在游戏世界里,“精灵(Sprite) ”是所有生命体的统称,“精灵”同样可以站立(Stand),可以移动(MoveTo),可以战斗(Attack),可以 受伤(Injured),可以死亡(Death)。当然,梦幻般的它们或许还能施法(Casting)甚至飞行(Fly)。能够移 动,因此必须有速度(Speed)和方向(Direction);可以死亡,因此必须有它活着的证明(Life)……于是, 一个非常非常贴近我们现实生活的游戏“精灵类”出现了:
每个“人”都生活在各自的“城市”里,“城市”有路,有桥,有山,有水……多种多样的地况形成 了整个城市的立面结构;“精灵”存在于各自所处的“场景(Scene)”中,每个“场景”都拥有一张生动 的背景地图(Map)展示着美丽的风景,精灵们就是在这样铺设着坐标系(Coordinates)的“场景”里自由自 在的生活。只要高兴,它们随时都可以到不同的“场景”走亲访友或者探险旅游。因此,“场景”管理着 它内部的所有对象如“精灵”、“魔法”等,作为承载游戏各元素的重要枢纽,它有着非凡的意义: