iT邦幫忙

2024 iThome 鐵人賽

DAY 6
0
自我挑戰組

Unity入門遊戲開發與實作系列 第 6

【Day 6】怎麼用程式創造一個角色

  • 分享至 

  • xImage
  •  

如果我們要在程式中創建一隻角色其實並不複雜,例如我們想練習怎麼創造一個老人,於是開了一個新的 Script 叫做 OldMan.cs

using UnityEngine;
public class OldMan
{

}

我們要在大括號中寫入一個 OldMan 該具備的所有資訊,例如血量、名稱、攻擊力等等。

using UnityEngine;
public class OldMan
{
    int health = 20;

    int attack = 1;

    float moveSpeed;

    bool isDead = false;

    string name;

    int level = 1;
}

在這裡,我給 OldMan 新增了血量、攻擊力、移動速度、判定是否死亡的布林值、名字和等級。
在 C# 中,一個 class 都會附帶一個 Constructor ,在這裡,我們也要在 Constructor 內加入內容

using UnityEngine;
public class OldMan
{
    int health = 20;

    int attack = 1;

    float moveSpeed;

    bool isDead = false;

    string name;

    int level = 1;

	public  OldMan()
	{
		Debug.Log("Good Morning~");
	}
}

這樣就可以在 OldMan 物件被創造時,在 Console 視窗中提示我們剛剛有新增了一個物件。
接下來在 Unity 的 Script 資料夾中再創建一個 Script ,用於生成 OldMan 的 object。

using UnityEngine;
public class OldManMannger : MonoBehaviour
{
    OldMan oldman;
	void Start()
	{
		oldman = new OldMan();
	}
}

剛剛前面寫的程式碼都是拿來定義一個 OldMan 中應該存在什麼樣的數據和資料,而這裡的程式碼中的 oldman = new OldMan(); 則正式創建了一個 OldMan object。也就是代表剛剛的 Constructor 會被調用。
回到 Unity 並按下開始鍵執行遊戲,就能夠看到我們剛剛創建的 OldMan 親切的打招呼囉
https://ithelp.ithome.com.tw/upload/images/20240920/201693012FRt60k7Df.png
當然我們也可以創造很多個 OldMan

using UnityEngine;
public class OldManMannger : MonoBehaviour
{
    OldMan oldman, oldman2, oldman3;
	void Start()
	{
		oldman = new OldMan();
		oldman2 = new OldMan();
		oldman3 = new OldMan();
	}
}

這樣我們就會得到非常多次的招呼
https://ithelp.ithome.com.tw/upload/images/20240920/20169301WbNryumhb7.png
雖然這個角色在遊戲畫面中並沒有出現,因為我們並沒有指定這支角色的外表,但我們仍然可以透過 Console 視窗發現他被創造出來的痕跡


上一篇
【Day 5】Unity 中的腳本介紹與基礎語法
下一篇
【Day 7】Access modifier 和 setter & getter 方法
系列文
Unity入門遊戲開發與實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言