被 Overload的 Method
◌ 在 C# 語法中, Method 名稱不可以重複使用。
◌ 但若是在 同樣名稱 的多個 Method 中分別設定 不同參數 ,則可成立。
示意圖以 void EatSomething( ){ }
的不同型態為例
物件導向
◌ 物件的基礎為 class 。
◌ 物件與物件之間 可以連動 。
◌ 物件的 繼承 ,可用於定義子類別,重複使用 (繼承)、擴充或修改父類別行為。
示意圖以 public class IDCard
為例
💡古古的小提醒:
上述提及的 class、 繼承、interface、建立物件,一般來說用不到,但儘管不使用此語法一樣可以多多利用物件導向的想法來思考。
遊戲分析
✦ 遊戲連結
✦ 遊戲類型與流程
◌ 像素風格 2D 橫向捲軸遊戲。
◌ 透過 上下鍵移動 來「躲避障礙物」與「獲得積分」。
◌ 遊戲初始狀態下共有 3 條生命值 ,且遊戲將持續進行至生命值耗盡。
◌ 遊戲結束後進行積分結算。
✦ 遊戲規則與機制
◌ 點擊 上下鍵 ,控制角色移動。
◌ 點擊 空白鍵,發射攻擊 以消滅敵人。
◌ 碰到 大小兔子 可 獲得積分。
◌ 碰到 彩色兔子 可 更換角色樣式。
◌ 碰到 餅乾 ,並 集滿能量條 ,可 回復一條生命值。
◌ 遊戲中設有 排行榜 功能,可與其他玩家的最高分進行排名。
遊戲製作
本週課程將由 NewJeans SuperGirls 核心遊戲內容與玩法開始製作,並逐步完成整個遊戲架構。
建立一個名為 SuperNewJeans 的場景
對 Scenes 資料夾 點擊右鍵 ➔ 點擊 Create ➔ 點選 Scene
➔ 重新命名為 SuperNewJeans
新增一個 Cube 作為玩家
於 Hierarchy 介面中 點擊右鍵 ➔ 選擇 3D Object ➔ 點選 Cube
➔ 重新命名為 Player ➔ 將 Player 移至畫面左側
將攝影機改為正焦投影的方式,使遊戲畫面平面化
點擊 Main Camera ➔ 將 Projection 欄位中的 Perspective 改為 Orthographic
📝古古的課程補充:
點擊 Scene 介面中的 2D 按鈕,可以將場景的畫面更改為 2D 平面的顯示方式唷!
控制 Player 的上下移動
建立一個空物件( Create Empty )命名為 Game Manager
➔ 建立一個名為 GameManager 的腳本,並拖曳至 Game Manager 物件 上
➔ 開啟 GameManager 腳本,輸入以下程式碼並存檔
public GameObject player;
public float currentPosY = 0;
public float speed = 0;
void Start()
{
currentPosY = 0.75f;
speed = 0.1f;
}
void Update()
{
// 玩家往上移動
if (Input.GetKey(KeyCode.UpArrow) || Input.GetKey(KeyCode.W))
{
currentPosY = currentPosY + speed;
if (currentPosY >= 5.3f)
{
currentPosY = 5.3f;
}
}
// 玩家往下移動
if (Input.GetKey(KeyCode.DownArrow) || Input.GetKey(KeyCode.S))
{
currentPosY = currentPosY - speed;
if (currentPosY <= -3.3f)
{
currentPosY = -3.3f;
}
}
player.transform.position = new Vector3(-5.5f, currentPosY, 0f);
}
➔ 到 Unity 介面,將 Player 物件 綁定至 Game Manager 物件的 Player 欄位 中
設置障礙物與得分物件
透過建立多個 Cube 與 Sphere,並調整各物件的擺放位置來設計不同的地形組合。
點擊 Create Empty Parent 可以為物件建立群組
各個障礙物與得分物件擺放位置的 Z 軸數值,都要與 Player 的 Z 軸數值相同才可以喔!
可以加上天空與材質讓畫面變得更加精緻
📝古古的課程補充:
在設置好地形組合後,可以將每個不同類型的物件加上不同顏色的材質球會更好辨認。
另外,若是想讓材質球的樣式變得更加卡通化,可以前往 Asset Store 下載 Simple Toon,並在材質球的 Shader 下拉式選單 處,點選 Simple Toon ➔ 選擇 SToon Outline 就可以囉!
素材連結| https://assetstore.unity.com/packages/vfx/shaders/simple-toon-185038