标签:spec 出现 date() 存储 而不是 默认 模型 ota ima
1、简答题【建议做解释 游戏对象(GameObjects) 和 资源(Assets)的区别与联系。
using System.Collections; using System.Collections.Generic; using UnityEngine; public class testBehavior : MonoBehaviour { void Start(){ Debug.Log("Start"); } void Awake(){ Debug.Log("Awake"); } void Update(){ Debug.Log("Update"); } void FixedUpdate(){ Debug.Log("FixedUpdate"); } void LateUpdate() { Debug.Log("LateUpdate"); } void OnGUI(){ Debug.Log("OnGUI"); } void OnDisable(){ Debug.Log("OnDisable"); } void OnEnable(){ Debug.Log("OnEnable"); } }
activeSelf:修改对象的名称,动静态等属性(图中对象名称是table,动态)
Transform:调整对象的位置、面向方向、大小(默认位置大小)
Box Collider:调整坐标系的位置、大小
Add Component:给对象增加行为
在Unity3D当中,为了快速复制出游戏对象,主要有克隆游戏对象与创建预制两种方法。
两者区别在于:
1、克隆游戏对象需要场景中有被克隆对象,而创建预制只需事先创建预制即可,允许场景中一开始并不存在该游戏对象。
2、克隆出来的游戏对象并不会随着被克隆体的变化而发生变化,但是使用预制创建出来的对象会随着预制的改变而发生改变。
public GameObject obj; void Start () { GameObject instance = (GameObject)Instantiate(obj.gameObject, transform.position, transform.rotation); }
2、 编程实践,小游戏
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Chess : MonoBehaviour { private int turn = 1; private int[,] grid = new int[3, 3]; // 重新开始游戏 void Start () { Restart(); } void Restart() { turn = 1; for (int i = 0; i < 3; ++i) { for (int j = 0; j < 3; ++j) { grid[i, j] = 0; } } } void OnGUI() { //设置button中字体的大小 GUI.skin.button.fontSize = 20; //设置label中字体大小和颜色 GUIStyle style = new GUIStyle(); style.fontSize = 40; style.normal.textColor = new Color(255, 255, 255); //判断是否点击Restart按钮 if(GUI.Button(new Rect(360, 500, 80, 80), "Restart")){ Restart(); } //判断游戏是否结束 int result = judge(); if (result == 1) { GUI.Label(new Rect(340, 170, 100, 50), "O wins!", style); } else if (result == 2) { GUI.Label(new Rect(340, 170, 100, 50), "X wins!", style); }else if (result == 3) { GUI.Label(new Rect(300, 170, 100, 50), "GameOver!", style); } //生成棋盘并判断格子是否被点击 for (int i=0; i<3; i++) { for(int j=0; j<3; j++) { if (grid[i, j] == 1) { GUI.Button(new Rect(280 + i * 80, 220 + j * 80, 80, 80), "O"); }else if (grid[i, j] == 2) { GUI.Button(new Rect(280 + i * 80, 220 + j * 80, 80, 80), "X"); }else if (GUI.Button(new Rect(280 + i * 80, 220 + j * 80, 80, 80), "")&&result==0) { if (turn == 1) { grid[i, j] = 1; }else { grid[i, j] = 2; } turn = -turn; } } } } int judge() { // 横向连线 for (int i = 0; i < 3; ++i) { if (grid[i, 0] != 0 && grid[i, 0] == grid[i, 1] && grid[i, 1] == grid[i, 2]) { return grid[i, 0]; } } //纵向连线 for (int j = 0; j < 3; ++j) { if (grid[0, j] != 0 && grid[0, j] == grid[1, j] && grid[1, j] == grid[2, j]) { return grid[0, j]; } } //斜向连线 if (grid[1, 1] != 0 && grid[0, 0] == grid[1, 1] && grid[1, 1] == grid[2, 2] || grid[0, 2] == grid[1, 1] && grid[1, 1] == grid[2, 0]) { return grid[1, 1]; } //全部格子都被点击 bool allClick = true; for (int i=0; i<3; i++) { for (int j=0; j<3; j++) { if (grid[i, j] == 0) { allClick = false; } } } if (allClick) return 3; return 0; } }
视频链接:
3、思考题【选做】
作业提交要求
标签:spec 出现 date() 存储 而不是 默认 模型 ota ima
原文地址:https://www.cnblogs.com/AilsaEvans/p/11511101.html