首页 > 其他 > 详细

Unity3d 面向对象设计思想(三)(对象的拆分)

时间:2014-04-10 17:35:03      阅读:417      评论:0      收藏:0      [点我收藏+]

最近看了一个Unity3d官网的Native 2d的一个Demo,发现Unity3d是一个纯面向对象的游戏引擎,

面向对象的程度,让我惊叹。

正常的,对象之间完全是独立工作,比如一个普通的ARPG游戏,一个人物拥有武器,可以攻击怪物,

我们可以把攻击动作封装到人物当中,这样人物拥有攻击属性,可以攻击到敌人。

但,在纯面向对象的封装的语言,这是不可以的,这样会使程序复杂起来,细想想,人物跟攻击根本

没什么关系,所以攻击跟人物是没有关系的,攻击动作不会是绑定到人物角色本身,而与

攻击本身相关的是武器,攻击的动作应该是武器发出来的。这样来分析,符合面向对象的思想;

 

再说如果游戏都有音乐,如果是攻击音效,可以在攻击时播放,人物受到伤害会音效会在人物受到伤害时播放,

如果是游戏的主声音呢,背景音乐呢,我们都可以帮定到主Camera上,再在Camera逻辑判断再播放,

这样完全是可以的。但,Unity3d不会提议这么做,在Unity3d中,所有游戏元素都是对象,音乐也是,

我们可以把主背景音乐封装成一个对象,这样方便管理。

 

还有车子在路上跑,这里牵涉到司机,我们可以简单封装成:

车子本身的行为:前进,后退,刹车,加速,停车

车子本身的特征:高档车,中档车,低档车

车子的特征或速度表现:发动机引擎

司机对象应该说跟车子本身的行为的一致,当然司机有自己的简单行为,嘲笑,技术

具体的移动行为表现:轮胎

在一个合格的面向对象的封装中,车子的速度应该体现是发动机引擎与司机的技术,个人觉得如果对象封装,

得封装一个移动引擎,用于驱动车子的速度。

 

其实面向对象与现实是分不开的,所有现实生活中的物体都是对象,比方说我在写博客:

简单的说是人物与电脑,输入的内容的行为表现应该是键盘,内容的表现形式是电脑屏幕

人物的行为是一种虚构,思想

 

:)

 

Unity3d 面向对象设计思想(三)(对象的拆分),布布扣,bubuko.com

Unity3d 面向对象设计思想(三)(对象的拆分)

原文:http://blog.csdn.net/unity3d_xyz/article/details/23340031

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!