1.简答题
1.解释游戏对象(GameObjects)和资源(Assets)的区别与联系。
游戏对象是在游戏中真实存在一个物体,是可以进行选中操作的对象,而资源则是对游戏对象的一个修饰,比如一个正方体是游戏对象,但是其表面的图案等具体信息是资源来设定的。
2.下载几个游戏案例,分别总结资源、对象组织的结构(指资源的目录组织结构与游戏对象树的层次结构)
资源的目录组织结构基本包括Prefabs预设,resources动态加载的资源文件,Scenes场景文件,Scenes场景文件,Scripts脚本代码文件,Sounds音效文件,Textures所有的贴图等等…而游戏对象树类似于多个父子继承关系,一个游戏对象往往是包括了多个子对象。
3、编写一个代码,使用 debug 语句来验证 MonoBehaviour 基本行为或事件触发的条件基本行为包括Awake() Start() Update()FixedUpdate() LateUpdate()
常用事件包括OnGUI() OnDisable() OnEnable()
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NewBehaviourScript1 : MonoBehaviour {
void Awake()
{
Debug.Log("Awake!");
}
void Start()
{
Debug.Log("Start!");
}
void Update()
{
Debug.Log("Update!");
}
void FixedUpdate()
{
Debug.Log("FixedUpdate!");
}
void LateUpdate()
{
Debug.Log("LateUpdate!");
}
void Reset()
{
Debug.Log("Reset!");
}
void OnGUI()
{
Debug.Log("onGUI!");
}
void OnDisable()
{
Debug.Log("onDisable!");
}
void OnDestroy()
{
Debug.Log("onDestroy!");
}
}
4.查找脚本手册,了解GameObject,Transform,Component 对象
分别翻译官方对三个对象的描述(Description)
GameObject: 游戏中的每个对象都是一个游戏对象(GameObject)。然而,游戏对象(GameObjects)本身不做任何事情。它们需要特殊属性(special properties)才能成为一个角色、一种环境或者一种特殊效果。
Transform:变换(Transforms)是每个游戏对象(GameObject)的关键组件(Component)。它们决定游戏对象 (GameObject)的位置、旋转方式及缩放。
Reset:在游戏中,组件(Components)就是对象和行为的螺栓与螺母,它们是每个游戏对象 (GameObject)的功能零件。
描述下图中 table 对象(实体)的属性、table 的 Transform 的属性、 table 的部件
table 的对象是GameObject,第一个选择框是 activeSelf属性,第二个选择框是Transform属性,第三个选择框是Mesh Filter筛网过滤器属性,第四个选择框是Box Collider属性,第五个选择框是Mesh Renderer筛网渲染器属性,第六个选择框是Default-Material属性。
资源预设(Prefabs)与 对象克隆 (clone)
A.预设(Prefabs)有什么好处?
预设是一个非常容易复用的类模板,可以迅速方便创建大量相同属性的对象、操作简单,代码量少,减少出错概率。
B.预设与对象克隆(clone or copy or Instantiate of Unity Object)关系?
预设可以使修改的复杂度降低,一旦需要修改所有相同属性的对象,只需要修改预设即可,所有通过预设实例化的对象都会做出相应变化。而克隆只是复制一个一模一样的对象,这个对象独立于原来的对象,在修改的过程中不会影响原有的对象,这样不方便整体改动。
C.制作 table 预制,写一段代码将 table 预制资源实例化成游戏对象
void Start()
{
Debug.Log("Start!");
pos= new Vector3(0, 1, 2);
qua = new Quaternion(0, 0, 0, 0);
GameObject point = GameObject.Instantiate(table, pos,qua) ;
}
3、
井字棋代码链接