iT邦幫忙

2024 iThome 鐵人賽

DAY 14
0

Day14

被 Overload的 Method

◌ 在 C# 語法中, Method 名稱不可以重複使用。
◌ 但若是在 同樣名稱 的多個 Method 中分別設定 不同參數 ,則可成立。

01
02

示意圖以 void EatSomething( ){ } 的不同型態為例

物件導向

◌ 物件的基礎為 class 。
◌ 物件與物件之間 可以連動 。
◌ 物件的 繼承 ,可用於定義子類別,重複使用 (繼承)、擴充或修改父類別行為。

03

示意圖以 public class IDCard 為例

💡古古的小提醒:
上述提及的 class、 繼承、interface、建立物件,一般來說用不到,但儘管不使用此語法一樣可以多多利用物件導向的想法來思考。

專案起手式

遊戲分析

✦ 遊戲連結

NewJeans SuperGirls

04

✦ 遊戲類型與流程

◌ 像素風格 2D 橫向捲軸遊戲。
◌ 透過 上下鍵移動 來「躲避障礙物」與「獲得積分」。
◌ 遊戲初始狀態下共有 3 條生命值 ,且遊戲將持續進行至生命值耗盡。
◌ 遊戲結束後進行積分結算。

05

✦ 遊戲規則與機制

◌ 點擊 上下鍵 ,控制角色移動。
◌ 點擊 空白鍵,發射攻擊 以消滅敵人。
◌ 碰到 大小兔子 可 獲得積分。
◌ 碰到 彩色兔子 可 更換角色樣式。
◌ 碰到 餅乾 ,並 集滿能量條 ,可 回復一條生命值。
◌ 遊戲中設有 排行榜 功能,可與其他玩家的最高分進行排名。

遊戲製作

本週課程將由 NewJeans SuperGirls 核心遊戲內容與玩法開始製作,並逐步完成整個遊戲架構。

STEP 1

建立一個名為 SuperNewJeans 的場景


對 Scenes 資料夾 點擊右鍵 點擊 Create 點選 Scene

重新命名為 SuperNewJeans

06

STEP 2

新增一個 Cube 作為玩家


於 Hierarchy 介面中 點擊右鍵 選擇 3D Object 點選 Cube

重新命名為 Player 將 Player 移至畫面左側

07
08

STEP 3

將攝影機改為正焦投影的方式,使遊戲畫面平面化


點擊 Main Camera 將 Projection 欄位中的 Perspective 改為 Orthographic

09

📝古古的課程補充:
點擊 Scene 介面中的 2D 按鈕,可以將場景的畫面更改為 2D 平面的顯示方式唷!

10

STEP 4

控制 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 欄位 中

11
12
13
14

STEP 5

設置障礙物與得分物件


透過建立多個 Cube 與 Sphere,並調整各物件的擺放位置來設計不同的地形組合。

15

點擊 Create Empty Parent 可以為物件建立群組

16

各個障礙物與得分物件擺放位置的 Z 軸數值,都要與 Player 的 Z 軸數值相同才可以喔!

17

可以加上天空與材質讓畫面變得更加精緻

📝古古的課程補充:
在設置好地形組合後,可以將每個不同類型的物件加上不同顏色的材質球會更好辨認。

另外,若是想讓材質球的樣式變得更加卡通化,可以前往 Asset Store 下載 Simple Toon,並在材質球的 Shader 下拉式選單 處,點選 Simple Toon 選擇 SToon Outline 就可以囉!

18
19

素材連結| https://assetstore.unity.com/packages/vfx/shaders/simple-toon-185038


上一篇
Day13 / Unity C# 語法練習開始!躲避子彈小遊戲 (二) 靈活的子彈攻擊
下一篇
Day15 / Unity 可愛的 NewJeans 2D 遊戲 - 遊戲機制
系列文
初心者限定!設計師帶你學 Unity 3D 遊戲程式設計31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言