遊戲開發前學習筆記|Unity C#| day 1 學習基礎[1]

更新 發佈閱讀 8 分鐘

前言

這是紀錄本人學習Unity C#時的筆記,希望讓自己能夠整理思緒,方便記憶。
因為是新手自學的關係,也很有可能有誤解或錯誤的地方,請見諒…

raw-image







變數

宣告變數不能使用數字開頭,或是除了_之外的符號。

int hp = 10;
int A2 = 10;
int _A = 10;

·整數 int

·浮點數 float、double

float 精度低、佔的資源較少,double則反之;
目前暫時理解為在處理浮點數時,這兩種能用float就盡量用float。
然後使用float宣告變數時,數字後方要加f

float f = 0.1f;

不然會出現"Cannot convert from 'double' to 'float'"的錯誤訊息。

·字串 string

·布林 bool

存放true與false兩種狀態。


布林運算

and 使用符號 &&
or 使用符號 || (Shift + \)
not 使用符號 !


C# 的 i++ 和 ++i




邏輯判斷式

·if ︱else ifelse

        int hp = 60;
if (hp >= 70 && hp <= 100)
{
Debug.Log("70~100");
}
else if (hp >= 40 && hp <= 69)
{
Debug.Log("40~69");
}
else if (hp >= 1 && hp <= 39)
{
Debug.Log("1~39");
}
else
{
Debug.Log("不在範圍內");
}

這段程式碼如果把大括號拿掉還是可以work,但是如果內容有兩行以上的代碼就會報錯,所以不管怎樣大括號就是給他加下去就對了!


迴圈

·for迴圈

	for (int i = 0; i <= 10; i++)
{
Debug.Log("跑了" + i + "圈");
}

關於for迴圈的大括號,如果我們把大括號拿掉的話,跟if不太一樣的是…就算for裡面有兩行語句也不會報錯,但是他就只會執行第一行的代碼,所以還是不管怎樣大括號就是給他加下去就對了!

·while迴圈

	int i = Random.Range(1, 101);
int count = 0;
while (i > 0)
{
count++;
Debug.Log("總共計數:" + count);
i--;
}

i--忘記加,然後就——

Random.Range

上面while迴圈裡使用到的Random.Range,使用int跟float時範圍囊括的區間是不太一樣的;
Random.Range(0, 3); //範圍為0~2
Random.Range(0.0f, 3.0f); //範圍為0.0~3.0
整數隨機時最大值不包含在範圍;
浮點數隨機時最大值包含在範圍內。


一維陣列

只印出"名稱2"↓

        string[] names = new string[3] { "名稱", "名稱1", "名稱2" };
Debug.Log(names[2]);

使用for迴圈,印出每個名稱↓

        string[] names = new string[3];
names[0] = "名稱";
names[1] = "名稱1";
names[2] = "名稱2";
for (int i = 0; i < names.Length; i++)
{
Debug.Log(names[i]);
}

使用foreach,印出每個名稱↓

        string[] names = new string[3] { "名稱", "名稱1", "名稱2" };

foreach (string value in names)
{
Debug.Log(value);
}

方法method

    void methodName()
  {
  }

↑最基本的方法結構,
void 等於沒有回傳值(改成float或是其他的則是有回傳值,看想要回傳甚麼);
methodName 方法名稱;
()小括號裡面沒東西代表沒傳入參數。

private float _hp = 100;

float getHp()
{
return _hp;
    //將最上方_hp的數值回傳在此getHp(),
    所以只要呼叫這個getHp()方法,就可以得到目前的_hp的值。
    //return之後不要放東西,因為到return之後就不會繼續執行。
}

void setHp(float hp)
{
_hp = hp;
    //將下方取得的65丟回到最上方的_hp裡。
}

void Start()
{
setHp(65);
    //將setHp方法裡的參數float hp設成65。
float myHp = getHp();
    //創建了一個叫myHp的變數,為了下一行顯示getHp()裡的值。
Debug.Log("MyHp:" + myHp);
}

Call By Value

    void Start()
{
int a = 10;
setA(a);
Debug.Log(a);
}
void setA(int a)
{
a = 20;
}

印出的參數為10而非20,因為Call By Value只是將變數的參數填入,而非填入變數的地址。(我還要再理解一下…)

Call By Reference

  • ref類型
    void Start()
{
int a = 10;
setA(ref a);
Debug.Log(a);
}
void setA(ref int a)
{
a = 20;
}

此時印出的參數就是20了,概念上比較像是本來是填入a的參數,但是現在因為有加ref所以要傳"ref類型"的參數。

  • out類型
    void Start()
{
int a;
setA(out a);
Debug.Log(a);
}
void setA(out int a)
{
a = 20;
}

這樣也是印出20,概念上是int a設為一種輸出的類型,所以最上方int a就不用給予初始值。


留言
avatar-img
立言的沙龍
2會員
2內容數
想要有能力獨立開發遊戲,所以來寫個學習筆記,方便自己整理思緒。畢竟是Indie Game,所以程式、美術、企劃都要學習(抖。遊戲引擎選定Unity,C#也是從零開始學,任重道遠啊…
你可能也想看
Thumbnail
賽勒布倫尼科夫以流亡處境回望蘇聯電影導演帕拉贊諾夫的舞台作品,以十段寓言式殘篇,重新拼貼記憶、暴力與美學,並將審查、政治犯、戰爭陰影與「形式即政治」的劇場傳統推到台前。本文聚焦於《傳奇:帕拉贊諾夫的十段殘篇》的舞台美術、音樂與多重扮演策略,嘗試解析極權底下不可言說之事,將如何成為可被觀看的公共發聲。
Thumbnail
賽勒布倫尼科夫以流亡處境回望蘇聯電影導演帕拉贊諾夫的舞台作品,以十段寓言式殘篇,重新拼貼記憶、暴力與美學,並將審查、政治犯、戰爭陰影與「形式即政治」的劇場傳統推到台前。本文聚焦於《傳奇:帕拉贊諾夫的十段殘篇》的舞台美術、音樂與多重扮演策略,嘗試解析極權底下不可言說之事,將如何成為可被觀看的公共發聲。
Thumbnail
柏林劇團在 2026 北藝嚴選,再次帶來由布萊希特改編的經典劇目《三便士歌劇》(The Threepenny Opera),導演巴里・柯斯基以舞台結構與舞台調度,重新向「疏離」進行提問。本文將從觀眾慾望作為戲劇內核,藉由沉浸與疏離的辯證,解析此作如何再次照見觀眾自身的位置。
Thumbnail
柏林劇團在 2026 北藝嚴選,再次帶來由布萊希特改編的經典劇目《三便士歌劇》(The Threepenny Opera),導演巴里・柯斯基以舞台結構與舞台調度,重新向「疏離」進行提問。本文將從觀眾慾望作為戲劇內核,藉由沉浸與疏離的辯證,解析此作如何再次照見觀眾自身的位置。
Thumbnail
本文深入解析臺灣劇團「晃晃跨幅町」對易卜生經典劇作《海妲.蓋柏樂》的詮釋,從劇本歷史、聲響與舞臺設計,到演員的主體創作方法,探討此版本如何讓經典劇作在當代劇場語境下煥發新生,滿足現代觀眾的觀看慾望。
Thumbnail
本文深入解析臺灣劇團「晃晃跨幅町」對易卜生經典劇作《海妲.蓋柏樂》的詮釋,從劇本歷史、聲響與舞臺設計,到演員的主體創作方法,探討此版本如何讓經典劇作在當代劇場語境下煥發新生,滿足現代觀眾的觀看慾望。
Thumbnail
《轉轉生》為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,融合舞蹈、音樂、時尚和視覺藝術,透過身體、服裝與群舞結構,回應殖民歷史、城市經驗與祖靈記憶的交錯。本文將從服裝設計、身體語彙與「輪迴」的「誕生—死亡—重生」結構出發,分析《轉轉生》如何以當代目光,形塑去殖民視角的奈及利亞歷史。
Thumbnail
《轉轉生》為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,融合舞蹈、音樂、時尚和視覺藝術,透過身體、服裝與群舞結構,回應殖民歷史、城市經驗與祖靈記憶的交錯。本文將從服裝設計、身體語彙與「輪迴」的「誕生—死亡—重生」結構出發,分析《轉轉生》如何以當代目光,形塑去殖民視角的奈及利亞歷史。
Thumbnail
前言 這是紀錄本人學習Unity C#時的筆記,希望讓自己能夠整理思緒,方便記憶。 因為是新手自學的關係,也很有可能有誤解或錯誤的地方,請見諒… 變數 宣告變數不能使用數字開頭,或是除了_之外的符號。 ·整數 int ·浮點數 float、double float 精度低、佔的資源較少,double
Thumbnail
前言 這是紀錄本人學習Unity C#時的筆記,希望讓自己能夠整理思緒,方便記憶。 因為是新手自學的關係,也很有可能有誤解或錯誤的地方,請見諒… 變數 宣告變數不能使用數字開頭,或是除了_之外的符號。 ·整數 int ·浮點數 float、double float 精度低、佔的資源較少,double
Thumbnail
C#跟其他程式語言最大的差別,在於它有嚴格規定資料型態,這篇文章將會講述 C#中資料型態轉換的方式,並藉由官方的範例來介紹各個關鍵字和陳述式,說明他們的運作原理。
Thumbnail
C#跟其他程式語言最大的差別,在於它有嚴格規定資料型態,這篇文章將會講述 C#中資料型態轉換的方式,並藉由官方的範例來介紹各個關鍵字和陳述式,說明他們的運作原理。
Thumbnail
分類 △單精度浮點數、單精度浮點值(float) △雙精度浮點數、雙精度浮點值(double) △長雙精度浮點數、長雙精度浮點值(long double) 有效位數是什麼? 儲存形式 不精確的原因 範圍與有效位數的差別 浮點數不被建議使用的原因 精確問題 速度問題 結論
Thumbnail
分類 △單精度浮點數、單精度浮點值(float) △雙精度浮點數、雙精度浮點值(double) △長雙精度浮點數、長雙精度浮點值(long double) 有效位數是什麼? 儲存形式 不精確的原因 範圍與有效位數的差別 浮點數不被建議使用的原因 精確問題 速度問題 結論
Thumbnail
說明 重點 △定義變數 △文字的定義 △文字與數字的差別 △整數與浮點數 △signed(有號)與unsigned(無號)的區別 △e是什麼符號? 分類 △字元 △字串 △短整數 △整數 △長整數 △超長整數 △單精度浮點數 △雙精度浮點數 △長雙精度浮點數 應用 宣告與輸出 運算符 結論
Thumbnail
說明 重點 △定義變數 △文字的定義 △文字與數字的差別 △整數與浮點數 △signed(有號)與unsigned(無號)的區別 △e是什麼符號? 分類 △字元 △字串 △短整數 △整數 △長整數 △超長整數 △單精度浮點數 △雙精度浮點數 △長雙精度浮點數 應用 宣告與輸出 運算符 結論
Thumbnail
本篇文章將會記錄Microsoft關於數字計算相關的知識,以及紀錄這些計算的專有名詞,補足闕漏的知識。
Thumbnail
本篇文章將會記錄Microsoft關於數字計算相關的知識,以及紀錄這些計算的專有名詞,補足闕漏的知識。
Thumbnail
這篇文章為介紹C#基礎知識的一部分,如果你是直接開始寫程式的C#程式員,可以看看這篇文章補足一些基礎知識。
Thumbnail
這篇文章為介紹C#基礎知識的一部分,如果你是直接開始寫程式的C#程式員,可以看看這篇文章補足一些基礎知識。
Thumbnail
賦值、打印、算數運算子、邏輯與關係運算子
Thumbnail
賦值、打印、算數運算子、邏輯與關係運算子
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News