Unity3D学习笔记(1)
来源:互联网 发布:双色球过滤软件 编辑:程序博客网 时间:2024/04/30 05:44
1. 解释对象与资源的区别与联系,根据AngryBots,以及其他官方案例,分别总结资源和对象组织的规则。
对象直接出现在游戏的场景中,是资源整合的具体表现,而资源可以被多个对象使用。有些资源作为模板,可实例化成游戏中具体的对象。资源文件夹通常有对象、材质、场景、声音、预设、贴图、脚本、动作,在这些文件夹下可以继续进行划分。对象一般有玩家、敌人、环境、摄像机和音乐等虚拟父类,这些父节点本身没有实体,但它们的子类真正包含了游戏中会出现的对象。
2. 编写简单程序代码,逐一验证MonoBehaviour 基本行为触发的条件。
public classNewBehaviourScript : MonoBehaviour {
void Awake() {
print("onAwake!");
}
void Start() {
print("onStart!");
}
void Update() {
print("onUpdate!");
}
void OnGUI() {
print("onGUI!");
}
void FixedUpdate() {
print("onFixedUpdate!");
}
void LateUpdate() {
print("onLateUpdate!");
}
void Reset() {
print("onReset!");
}
void OnDisable() {
print("onDisable!");
}
void OnDestroy() {
print("onDestroy!");
}
}
3. 通过官方参考手册,查找 GameObject,Transform,Component 对象,简单解释三者之间的关系。
GameObject包含Component,Transform属于Component的一种。GameObject必定包含一个Transform组件,也可能包含其它Component。
4. 整理官方和其他学习材料,介绍如何用程序(代码)管理一个场景的游戏对象树林。编写简单代码验证以下技术的实现:
查找对象
通过名字查找:public static GameObject Find(string name)
通过标签查找单个对象:public static GameObject FindWithTag(string tag)
通过标签查找多个对象:public static GameObject[] FindGameObjectsWithTag(string tag)
添加子对象
public static GameObect CreatePrimitive(PrimitiveTypetype)
遍历对象树
foreach (Transform child in transform) {
Debug.Log(child.gameObject.name);
}
清除所有子对象
foreach (Transform child in transform) {
Destroy(child.gameObject);
}
5. 预设有什么好处?与对象克隆 (clone orcopy or Instantiate of Unity Object) 关系?
预设类似于一个模板,通过预设可以创建相同属性的对象,这些对象和预设关联。一旦预设发生改变,所有通过预设实例化的对象都会产生相应的变化(适合批量处理)。对象克隆不受克隆本体的影响,因此A对象克隆的对象B不会因为A的改变而相应改变。
6. 解释组合模式并编写验证程序,向组合对象中子对象cast 消息,验证组合模式的优点。
组合模式允许用户将对象组合成树形结构来表现”部分-整体“的层次结构,使得客户以一致的方式处理单个对象以及对象的组合。组合模式实现的最关键的地方是——简单对象和复合对象必须实现相同的接口。这就是组合模式能够将组合对象和简单对象进行一致处理的原因。
子类对象(my_obj)方法:
void sayHello() {
print("Hello!");
}
父类对象(GameObject)方法:
void Start () {
this.BroadcastMessage("sayHello");
}
结构:
GameObject
|----my_obj
|----my_obj
运行结果:
Hello!
Hello!
- Unity3D 学习笔记 (1)
- 【Unity3d】学习笔记(1)
- Unity3D学习笔记(1)
- Unity3D学习笔记(1)
- unity3d学习笔记1
- unity3D学习笔记1
- Unity3D学习笔记1
- Unity3D学习笔记(1)hello world
- unity3d shader 学习笔记1
- unity3D脚本学习笔记1
- Unity3D游戏学习笔记1
- Unity3d 学习笔记(1)-物体
- Unity3D 学习笔记(一)
- unity3d 学习笔记(一)
- unity3d 学习笔记(二)
- unity3d 学习笔记(三)
- 【Unity3d】学习笔记(0)
- 【Unity3d】学习笔记(2)
- Linux Top 命令解析 比较详细
- 安卓开发——报错:duplicate files copied in apk meta-inf/License.txt
- 关于使用冒泡法
- 107. Binary Tree Level Order Traversal II
- python的一个面试题
- Unity3D学习笔记(1)
- Linux 交换分区
- 102. Binary Tree Level Order Traversal
- android 中的一些焦点处理(listView GridView 抢焦点 与focus技巧)
- Django学习-01
- 1020. Tree Traversals (25)
- 《Java实战开发经典》第五章5.8
- 谨以此文献给软件行业的同仁们(群转发)
- 学习了挺长时间的 gdb, makefile 总结一下,加油!