Lesson 5
Unity 程式腳本入門
Unity 程式腳本
• 您可以使用各種 3D 軟體或是 Unity 編輯 工具製作真實的遊戲世界
• 然而遊戲中的各種行為與互動功能,需要 透過撰寫腳本程式來達成
Unity 程式腳本
• Unity 可以使用 JavaScript 、 C# 撰寫遊戲 的腳本
• 且在一個遊戲專案可以混合使用,因此您 可以選擇自已比較熟悉的程式語言
• 對於初次接觸程式撰寫的同學來說,源自 網頁設計的 JavaScript 是比較容易上手,
但是使用 C# 開發遊戲有逐漸增加的趨勢
程式運算子介紹 1
名稱 C/C++ Java 說明與範例
負號 - -3
加法 + 1 + 1 = 2
減法 - 5 - 3 = 2
乘法 * 3 * 2 = 6
除法 / 7 / 2 = 3.33333
商數 \ 7 \ 2 = 3
整數除法,當被除數無法整除時,只留下商數。
餘數 % 7 % 2 = 1
整數除法,只留下餘數。可整除時餘數為 0 。
遞增 ++
A++:算式結束後把目前變數 A 的值 +1 。 A = 10; print(A++); //印出 A = 10
++A:在執行算式之前把目前變數 A 的值 +1 。 A = 10; print(++A); //印出 A = 11
遞減 --
A--:算式結束後把目前變數 A 的值 -1 。 A = 10; print(A--); //印出 A = 10
--A:在執行算式之前把目前變數 A 的值 -1 。 A = 10; print(--A); //印出 A = 9
算術運算子 (Arithmetic Operators)
算術運算子大部份都是常用的數學運算,所以運算的對象通常是數字。
程式運算子介紹 2
名稱 C/C++ Java 範例 結果
等於 == 1 = 2 false
3 = 3 true
不等於 != 2≠2 false
3≠5 true
大於 > 5> 3 true
2> 2 false
大於等於 >= 4 8≧ false
6 6≧ true
小於 < 5< 8 true
9< 3 false
小於等於 <= 4 8≦ true
7 3≦ false
關係 / 比較運算子 (Relational/Comparison Operators)
關係運算子就是數學裡的大於小於,是用來確認二個數字之間的關係,結 果會產生 true/false 的布林值。
開新專案 (Lesson5_Tajen)
• 建一個 Plane
• 建兩個 Cube ,並賦予 Rigidbody ,使其有 重量
程式腳本組成介紹
• 新增 JavaScript 後,可看到程式編輯畫面
第一個程式
在 Start() 與 Update() 內執行的方式不同
Start() 裡的程式只會執 行一次
Update() 裡的程式會一 直執行
選了物件後,把腳本拖拉到箭頭處
執行程式腳本
1. 先確認有無成功把腳 本賦予給物件
2.
按 Play ,即可執行程 式比較 Start() 與 Update() 有何不同
相關功能用法
• Time.deltaTime 每次自動固定一個值
• Time.time 值會一直累加
把這兩個腳本分別拉給不同的 Cube 物 件
變數宣告
宣告一個變數
自訂變數名稱。
該變數會出現於 Inspector 視窗內
。
變數型態
給予初值
給予初值,可以改變值並觀察
按 執行腳本
• 觀察兩個方塊轉動的方式
開新專案 (Lesson5-1_Tajen)
• 建一個 Plane
• 建兩個 Cube ,並賦予 Rigidbody ,使其有 重量
程式基本概念介紹
• transform 在專案中代表物件
• 讓物件旋轉的語法為 transform.Rotate
MonoDevelop 可於輸入時自動找出最接近的語法
物件移動、旋轉程式內容
讓物件移動
讓物件轉動
• 並按 執行腳本
• 改變面板上的
• 觀察 Cube 移動情形
把腳本拉給 Cube 物件
物件移動的限制用法
• 因物件互相撞到時可能會跳起來
• 把 Rigidbody 的 Constraints 都勾起來,限制物 件移動方向