1.解释游戏对象(GameObjects)和资源(Assets)的区别与联系。
- 游戏对象:出现在游戏的所有实体都可以叫做游戏对象,它像一个容器,不同的游戏对象是不同资源的一个集合。游戏对象一般有玩家、敌人、环境等几大类。我们在游戏中所见到的具体化了的游戏对象,一般都包含在一个虚拟的父类之中。
- 资源:资源可以看作是有些对象的属性和特征,包括模型文件,图像文件,音频文件和脚本文件等。有些资源作为模板,可实例化成游戏中具体的对象。
2.下载几个游戏案例,分别总结资源、对象组织的结构(指资源的目录组织结构与游戏对象树的层次结构)
- 资源的目录组织结构: 文件基本包括预设文件,场景文件,贴图文件,动态资源加载文件,音效文件,脚本代码文件等,并且还可以继续往下划分。
- 游戏对象树的层次结构: 类似继承关系,一个虚拟的父类包含多个实例化之后的子类对象
3.编写一个代码,使用debug语句来验证MonoBehaviour基本行为或事件触发的条件
1 |
|
4.查找脚本手册,了解GameObject,Transform,Component对象

- 分别翻译官方对三个对象的描述(Description)
- GameObject:游戏对象是Unity中表示游戏角色,游戏道具和游戏场景的基本对象。他们自身无法完成许多功能,但是他们构成了那些给予他们实体功能的组件的容器。
- Transform:转换组件决定了游戏场景中每个游戏对象的位置,旋转和缩放比例。每个游戏对象都有转换组件。
- Component:组件是游戏中对象和行为的细节。它是每个游戏对象的功能部分。
- GameObject:游戏对象是Unity中表示游戏角色,游戏道具和游戏场景的基本对象。他们自身无法完成许多功能,但是他们构成了那些给予他们实体功能的组件的容器。
- 描述上图中 table对象(实体)的属性、table 的Transform的属性、 table的部件
<ul>
<li>table对象的属性:table的对象是GameObject,第一个选择框是activeSelf属性,第二个选择框是Transform属性,第三个选择框是Mesh Filter筛网过滤器属性,第四个选择框是Box Collider属性,第五个选择框是Mesh Renderer筛网渲染器属性,第六个选择框是Default-Material属性。
<li>Transform的属性:包括控制位置变化的Position属性、控制旋转变化的Rotation属性、控制实体大小的Scale属性
<li>table的部件:Transform、Mesh Filter、Box Collider、Mesh Renderer等
</ul>
5.整理相关学习资料,编写简单代码验证以下技术的实现
1 | //查找子对象 |
6.资源预设(Prefabs)与对象克隆(clone)
预设(Prefabs)有什么好处?
- 预设类似于一个模板,通过预设可以创建相同属性的对象,这些对象和预设关联。对预设作出的任何更改都会应用在由它所生成的所有对象上
预设与对象克隆(clone or copy or Instantiate of Unity Object)关系?
- 对象克隆,就是复制了一个原本对象的实例,这两个实例之间相互独立,之间没有影响。
制作 table 预制,写一段代码将 table 预制资源实例化成游戏对象
1 | public class IMGUI : MonoBehaviour { |
7.尝试解释组合模式(Composite Pattern / 一种设计模式)。使用BroadcastMessage()方法
解释:组合模式是将对象组合成树形结构,以表示“部分整体”的层次结构,并使得用户对单个对象和组合对象的使用具有一致性。
父类对象
1 | public class ParentBehaviourScript : MonoBehaviour { |
- 子类对象
1 | public class ChildBehaviourScript : MonoBehaviour { |