本帖最后由 shanxiang1121 于 2016-8-19 08:19 编辑
写在研究之前:游戏物件与编程
所谓游戏物件,就是游戏中的基本组成元素——人物,事件,地图,音乐等等,这些东西是一个游戏的基本组成部分,单独拿出来没有什么用,但没有这些东西,一个游戏亦无法成型,简言之,游戏物件是一个点,而所谓的分支,循环是将这些点连在一起的线,你对这些点了解的越深,连线的时候就有越多的选择。
当然,这是只是在脚本层面上而言。
在代码层面,游戏物件有一个统一的代名词——类(也就是脚本代码中随处可见的class)
类并不是一个很容易解释的东西,如果你非要给它找个同义词,在我的认知里数据结构可能是最贴切的。
虽然这两个词看上去很高级,其实,可以很简单的概括它们的特点:
1.按特定方式存储的一组数据(比如说角色姓名、性别、HP、MP等等信息可以组成一个玩家类)
2.有针对这些数据的独特功能(比如:扣血操作,姓名修改、设置等等)
ps.这里需要特别声明的,是在代码的领域内,无论是数据还是功能,只要是能想到的,都是可以数据化的(包括看上去很抽象的技能、动画等等)
以上,便是一个类所包含的最直观的全部内容。
那所谓关联类又是什么呢?
最为形象的例子便是游戏主角与敌人的关系。
很明显,游戏的主角与敌人都有HP、MP、攻击手段等等属性,但主角可以操作,而敌人则有自带的AI系统
这样一来,他们公共的部分就成为了超类(也叫父类),通过继承,主角和敌人可以形成自己的类(也就是子类)
然后,父类中就有所谓减血,释放技能等等功能,而主角子类的部分,在继承了父类的功能之后,还可以增加玩家操控的部分功能,而敌人类则会添加诸如AI的功能。
也正是通过这种机制,才有了功能各异的游戏物件,进而才有了功能强大的游戏。 |