Unity3d学习之Homework1_简答题

Unity3d学习之Homework1_简答题

  • 1 解释对象与资源的区别于联系
    对象:直接出现在游戏场景里(包括运行游戏时和未运行游戏时),是资源整合的表现;对象一般是有虚拟类实例化而成的,是unity使用中某些被加载如内存的数据资源。
    资源:资源可以是一个或多个游戏对象的整合,可以被一个或多个对象使用,也可以实例化成游戏中具体的对象,资源文件夹通常有对象、材质、场景、声音、预设、贴图、脚本、动作。

  • 2 下载几个游戏案例,分别总结资源、对象组织的结构(指资源的目录组织结构与游戏对象树的层次结构)

  • 3 编写一个代码,使用 debug 语句来验证 MonoBehaviour 基本行为或事件触发的条件

public class testing : MonoBehaviour {

    // Use this for initialization
    void Awake(){
        Debug.Log ("onAwake");
    }
    void Start () {
        Debug.Log ("onStart");
    }

    // Update is called once per frame
    void Update () {
        Debug.Log ("onUpdate");
    }

    void LateUpd
    void FixedUpdate(){
        Debug.Log ("onFixedUpdate");
    }
    void OnGUI(){
        Debug.Log ("onReset");
    }
    void Reset(){
        Debug.Log ("onReset");
    }
    void OnDisable(){
        Debug.Log ("onDisable");
    }
    void OnDestroy(){
        Debug.Log ("onDestory");
    }
} 

console台输出的结果
这里写图片描述

  • 4 查找脚本手册,了解 GameObject,Transform,Component 对象
    第一问:

    • GameObjects are the fundamental objects in Unity that represent characters, props and scenery.GameObject是由一系列Component组成的,GameObject就说最基本的对象
    • The Transform component determines the Position, Rotation, and Scale of each object in the scene.Transform是Component的一种,Transform储存了GameObject的位置、大小、旋转度等信息 。
    • Components are the nuts & bolts of objects and behaviors in a game.组件是游戏对象和其对应行为之间的桥梁.Component 主要是被GameObject包含的,用于实现更复杂功能的。

    第二问:
    table 对象(实体)的属性有activeSelf 属性,layer属性。
    table 的 Transform 的属性有Position,Rotation,Scale
    table 的 部件 : Transform,Box Collider,Mesh Renderer

  • 5 整理相关学习资料,编写简单代码验证以下技术的实现
    1.查找对象
    2.添加子对象
    3.遍历对象树
    4.清除所有子对象

    • 查找对象:

      1. 通过名字查找:public static GameObject Find(string name)
      2. 通过标签查找单个对象:public static GameObject FindWithTag(string tag)
      3. 通过标签查找多个对象:public static GameObject[] FindGameObjectsWithTag(string tag)
    • 添加子对象: public static GameObect CreatePrimitive(PrimitiveTypetype)

    • 遍历对象树:foreach (Transform child in transform)
    • 清除所有子对象: foreach (Transform child in transform)
  • 6 资源预设(Prefabs)与 对象克隆 (clone)
    1.预设(Prefabs)有什么好处?
    预设体是可以反复利用的游戏对象,储存了完整储存了对象的组件和属性,类似于模板,更方便程序员后续创建对象

    2.预设与对象克隆 (clone or copy or Instantiate of Unity Object) 关系?
    对象克隆出来后修改其中任何一个不会对另一个有影响,如果用预设体实例化对象,如果改变预设体属性,所有实例化出来的对象都会被改变。
    3.制作 table 预制,写一段代码将 table 预制资源实例化成游戏对象
    创建完一个table实例后,将该对象拖到Assets池里就变成了perfabs预设体了。

  • 7 尝试解释组合模式(Composite Pattern / 一种设计模式)。使用 BroadcastMessage() 方法向子对象发送消息
    组合模式:组合多个对象形成树形结构以表示具有部分-整体关系的层次结构,使得客户以一致的方式处理单个对象以及对象的组合。

public class First : MonoBehaviour {

    // Use this for initialization
    void Start () {
        this.BroadcastMessage ("sendMessage");
    }

    // Update is called once per frame
    void sendMessage(){
        Debug.Log ("I am First!");
    }
}
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ke1950523491/article/details/79720995
个人分类: Unity3d学习
上一篇堆排序 c++
下一篇中大中级实训第一周——Vi,Java,Ant和Junit的自学报告
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭