目录
解释游戏对象(GameObjects)和资源(Assets)的区别和联系
编写一个代码,使用 debug 语句来验证 MonoBehaviour 基本行为或事件触发的条件
查找脚本手册,了解 GameObject,Transform,Component 对象
描述下图中 table 对象(实体)的属性、table 的 Transform 的属性、 table 的部件
总结
井字棋全部代码
解释游戏对象(GameObjects)和资源(Assets)的区别和联系
游戏对象(GameObjects):游戏中的每个对象都是一个游戏对象 (GameObject),游戏对象是统一体中代表人物、道具和场景的基本对象。它们本身并没有完成多少工作,但是它们充当组件的容器,组件实现真正的功能。
资源(Assets):游戏中可能用到的各种东西,比如模型、声音文件、贴图文件等等都是资源(Assets)。资源(Assets)是可以在游戏或项目中使用的任何项目的表示。资源(Assets)可能来自Unity之外创建的文件,例如3D模型、音频文件、图像或Unity支持的任何其他类型的文件。还有一些资产类型可以在Unity中创建,比如动画控制器、音频混频器或渲染纹理。在unity3d中的Project部分就对应了项目文件夹里的assets文件夹,就是专门用来存储项目中使用到的各种东西。在Project里添加模型、声音文件、贴图文件时assets文件夹里的东西也会改变。
区别:对象由资源组成,资源组成对象,且可以被多个对象使用。对象是资源的具体化的实例,资源是对象的组成成分。
联系:资源可以作为模板,实例化成具体的游戏对象,也可以作为游戏对象中的某种属性,同时也可以被多个游戏对象同时使用。
下载几个游戏实例,分别总结资源、对象组织的结构
在GitHub上下载了一个叫tappyplane的游戏
该游戏资源的内容分为预制、场景、脚本、纹理,资源的结构如下:
对象组织的结构,这个游戏只有一个main camera的对象。
编写一个代码,使用 debug 语句来验证 MonoBehaviour 基本行为或事件触发的条件
基本行为包括 Awake() Start() Update() FixedUpdate() LateUpdate()
常用事件包括 OnGUI() OnDisable() OnEnable()
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class intbesh : MonoBehaviour {
// 初始化
private void Awake(){
Debug.Log("It is an awake!");
}
void Start () {
Debug.Log("It is a start!");
}
//每帧调用一次更新
void Update () {
Debug.Log("It is an update!");
}
//固定更新
private void FixedUpdate(){
Debug.Log("It is a fixedupdate!");
}
private void OnGUI(){
Debug.Log("It is ONGUI!");
}
private void OnDisable(){
Debug.Log("It is OnDisable!");
}
private void OnEnable(){
Debug.Log("It is OnEnable!");
}
}
运行结果如下图:
分析可得
awake:当一个脚本实例被载入时被调用
start:在所有update函数之前被调用一次