您的位置:首页 > 移动开发 > Unity3D

unity 学习——基本概念辨析

2018-03-24 19:34 239 查看
解释对象与资源的区别与联系,根据官方案例总结资源和对象组织的规则/规律。  对象是类的实例,而类里面可以使用各种资源。

编写简单程序代码,验证 MonoBehaviour 基本行为触发的条件。 发现输出顺序为1243643644436……
using System.Collections;using System.Collections.Generic;using UnityEngine;
public class fdf : MonoBehaviour {
// Use this for initialization    void Awake() { Debug.Log(1); }
void Start() { Debug.Log(2); }
void Update() { Debug.Log(3); }
void FixedUpdate() { Debug.Log(4); }    private void LateUpdate()    {        Debug.Log(6);    }}


3.通过官方参考手册,了解 GameObject,Transform,Component 对象,分别翻译官方对三个对象的描述;描述table对象的属性、table的transform的属性、table的部件Gameobject:unity场景中的所有实体的基类
Transform:物体的位置、角度和尺寸。每个物体都有Transform。这是用来储存和操纵物体的位置角度和尺寸。每个Transform都有一个父亲,允许你继承性的使用位置角度和尺寸。Transform是支持枚举(foreach)的。
component: 所有附在gameobject上的基类。注意你的代码永远不能创建一个component。作为代替,你可以编辑脚本,附在gameobject上
Transform的属性:位置、旋转角度、尺寸、继承关系table的属性Transform  Cube table的部件:mesh renderer; box collider; 


4.
查找对象的方法
GameObject.Find()
GameObject.FindWithTag()

GameObject[]  GameObject.FindGameObjectsWithTag(string)  添加子对象
transform.parent=container.transform遍历对象
foreach(Transform childintransform){ }  清除所有子对象        for (int i = 0; i < transform.childCount; i++)
        {
            Destroy(transform.GetChild(i).gameObject);
        }

5.预设有什么好处?与对象克隆的关系?写一段代码把table实例化 
(1)预设体不会因为物体毁灭而消失,还可以通过实例化而再出现在场景里;预设体可以减少加载资源花费的时间;预设体可以方便快捷的对多个类使的物体进行编辑。
(2)对象克隆不受克隆本体的影响,克隆出来的东西在克隆完成的时候开始,就与之前的物体毫无关联。
GameObject pfb = Resources.Load("Prefabs/table.pfb") as GameObject;
GameObject prefabInstance = Instantiate(pfb);
prefabInstance.transform.parent = container.transform;

6.解释组合模式。并编写验证程序,向组合对象中子对象 cast 消息,验证组合模式的优点
(1)组合模式原理:将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。简单对象和复杂对象必须有能相匹配的接口。
son_obj
public void Hello(){
print("Hello world!");
}

fatherObject
public void Start(){
this.BroadcastMessage("Hello");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: