Array( 陣列 )
✦ 使用方式
◌ 資料型態
[ ]
陣列名稱
= new
資料型態
[ ]
{ 變數1, 變數2, 變數3 }
◌ 陣列可用於儲存 相同類型 的 多個變數 。
◌ 索引值由 0 開始計算,因此 陣列名稱[0]
= 變數1
。
◌ 使用 陣列名稱.Length
可以得出陣列長度,知道此陣列中儲存多少變數。
◌ 陣列長度是固定的,無法隨意更改大小。
示意圖以 int[] numberArr = new int[] { 1, 2, 3 }
為例
Console 介面印出上圖程式碼的結果
List
✦ 使用方式
◌ List
< 資料型態 >
List名稱
= new
List
< 資料型態 >
()
◌ List 與陣列皆是用於儲存 相同類型 的 多個變數 。
◌ List 可以任意調整長度,並透過 List名稱.Add(變數)
的方式自行增加變數數量。
◌ 索引值由 0 開始計算,因此 List名稱[0]
= 變數1
。
◌ 使用 List名稱.Count
可以得出 List 長度,知道其中儲存多少變數。
示意圖以 List<GameObject> objectList = new List<GameObject>()
為例
Console 介面印出上圖程式碼的結果
📝 古古的課程補充:
foreach 可以針對一連串資料(陣列或集合),逐一查看程式碼區塊一次。
寫法:foreach
(資料型態
自定義之變數名稱
in
List名稱
)
躲避子彈小遊戲
建立一個角色與遊戲空間
新增一個 Cube 並 沿 Y 軸縮小,作為地板 ➔ 再新增 四個 Cube 分別作為四邊的牆壁
➔ 新增一個 Capsule 並 重新命名為 Player,作為玩家
💡古古的小提醒:
可以稍微降低一點環境光的強度,才不會看起來太過曝喔!
新增一個名為 GameManager 的腳本
對 Assets 資料夾 點擊右鍵 ➔ 選擇 Create ➔ 點選 Folder ➔ 將資料夾命名為 Script
➔ 對 Script 資料夾 點擊右鍵 ➔ 選擇 Create ➔ 點選 C# Script ➔ 命名為 GameManager
新增一個名為 GameManager 的空物件,並加入剛建立好的腳本
於 Hierarchy 介面中 點擊右鍵 ➔ 選擇 Create Empty ➔ 命名為 GameManager
➔ 將剛建立好的 GameManager 腳本拖曳至此物件當中
開啟 GameManager 腳本,並進行資料綁定
開啟 GameManager 腳本 ➔ 輸入 public GameObject player;
並存檔
➔ 回到 Unity 視窗中,查看 GameManager 物件中的 GameManager 腳本處,
應增加了一個名為 Player 的欄位 ➔ 將 Player 物件拖曳至此欄位中,即完成資料綁定
控制角色進行前後左右的移動
開啟 GameManager 腳本 ➔ 在 Update 處輸入以下程式碼
float posX = player.transform.position.x;
float posY = player.transform.position.y;
float posZ = player.transform.position.z;
if( Input.GetKey( KeyCode.UpArrow ) )
{
player.transform.position = new Vector3 (posX, posY, posZ + 0.5f);
}
if( Input.GetKey( KeyCode.DownArrow ) )
{
player.transform.position = new Vector3 (posX, posY, posZ - 0.5f);
}
if( Input.GetKey( KeyCode.LeftArrow ) )
{
player.transform.position = new Vector3 (posX - 0.5f, posY, posZ);
}
if( Input.GetKey( KeyCode.RightArrow ) )
{
player.transform.position = new Vector3 (posX + 0.5f, posY, posZ);
}
調整 Main Camera 視角
將 Main Camera 拖曳至 Player 物件上,作為 Player 的子物件,使其能與玩家同步移動
➔ 調整 Main Camera 的位置與角度至第三人稱俯瞰視角
💡古古的小提醒:
將 Main Camera 設定為 Player 的子物件後,調整其 Position 數值為( 0, 0, 0 ),就可以使 Main Camera 的位置與 Player 的位置重合。
調整角色的移動速度
開啟 GameManager 腳本 ➔ 輸入 public float speed = 1f;
➔ 將 Update 程式碼區塊中原先控制移動數值的 0.5f 改為 speed,並存檔
➔ 回到 Unity 視窗中,查看 GameManager 物件中的 GameManager 腳本處,
應增加了一個名為 Speed 的欄位 ➔ 點擊播放鍵,並 修改 Speed 欄位數值 至適當大小
➔ 結束播放,並將腳本中的 speed 數值 與 GameManager 物件中 Speed 的欄位數值
調整成先前測試好的數值大小
點擊播放鍵後再調整 Speed 的數值,會更方便進行測試與修正!
💡古古的小提醒:
點擊播放鍵執行遊戲後,在介面中所做的任何修改,都會在結束播放後回歸原狀。