-
。。。。。。
查看全部 -
游戲要素:1,邏輯;游戲的玩法,控制
? ?2,顯示;展示游戲內(nèi)容,過程,邏輯的結(jié)果
查看全部 -
子節(jié)點(diǎn)和父節(jié)點(diǎn)查看全部
-
walkSpeed 一秒能前進(jìn)多少的單位
transform.forward 面朝方向
Time.deltaTime 上一幀到這一幀經(jīng)歷的時(shí)間
查看全部 -
“Llddldlddfdess查看全部
-
有點(diǎn)深?yuàn)W,標(biāo)簽一個(gè)
查看全部 -
// 要移動(dòng)的物體
public GameObject center;
// 新的位置
Vector3 newPoint;
// 用來看看這次運(yùn)動(dòng)是否結(jié)束
private bool isOver = true;
void Update ()?
{
? if (Input.GetMouseButtonUp(0))?
? {
? ? ClickOn(Input.mousePosition);
? }
? MoveTo(newPoint);
}
void ClickOn(Vector2 pos)?
{
? // 從攝像機(jī)生成一條射線
? Ray ray = Camera.main.ScreenPointToRay(pos);
? // 獲取射線穿過的所有游戲?qū)ο?/p>
? RaycastHit[] hits = Physics.RaycastAll(ray);
? // 遍歷射線穿過的所有對(duì)象
? foreach (RaycastHit hit in hits)?
? {
? ? // 如果當(dāng)前穿過的對(duì)象的名字叫做Plane(名字根據(jù)自己設(shè)置)
? ? if (hit.collider.name == "Plane")?
? ? {
? ? ? newPoint = hit.point;
? ? ? // 是因?yàn)槲业那虼笮∈?然后對(duì)應(yīng)的y會(huì)比點(diǎn)擊到的y要大0.5
? ? ? newPoint.y = 0.5f;
? ? ? isOver = false;
? ? ? break;
? ? }
? }
}
// 這個(gè)是往指定方向移動(dòng)的方法
private void MoveTo(Vector3 tar)?
{
? if(!isOver)?
? {
? ? Vector3 offSet = tar - center.transform.position;
? ? // 進(jìn)行移動(dòng)
? ? center.transform.position += offSet.normalized * 5 * Time.deltaTime;
? ? // 如果位置小于0.5就不動(dòng)了
? ? if(Vector3.Distance(tar, center.transform.position)<0.5f)?
? ? {
? ? ? isOver = true;
? ? ? center.transform.position = tar;
? ? }
? }
}
查看全部 -
本節(jié)課程總結(jié)
查看全部 -
游戲的要素
查看全部 -
這個(gè)場(chǎng)景在《課堂演示案例》——Assets——Objects——Environment——StructuralElements里,拖到新建工程就好了。
查看全部 -
Input.GetAxis()返回的值時(shí)-1到1之間,確定當(dāng)前輸入的是哪個(gè)方向,0表示沒有輸入
查看全部 -
腳本間調(diào)用
通過GetComponment()找到同一個(gè)物體的其他腳本;
通過GameObject.Find()找到其他物體;
查看全部 -
執(zhí)行邏輯的順序
場(chǎng)景啟動(dòng)時(shí)調(diào)用所有腳本的Awake();
調(diào)用所有腳本的Start();
每一幀調(diào)用Update();
調(diào)用完所有腳本的Update()后調(diào)用LateUpdate()(每一幀調(diào)一次);
調(diào)用FixUpdate()(與時(shí)間相關(guān));
查看全部 -
邏輯,顯示查看全部
-
游戲輸入的步驟
查看全部
舉報(bào)