2024 虛擬實境 x 人因設計 05unity C#語法教學入門_2

更新於 發佈於 閱讀時間約 9 分鐘

完成了Debug.log()的測試,接著還是要跟各位簡單講一下C#的一些規則,之後看程式會(比較)看得懂。

又講到變數?

在Unity中,變數是重要的工具,用來儲存和管理資料。讓開發者能夠靈活調整遊戲的行為,減少代碼的重複性,使得遊戲開發更加高效和簡潔。透過使用變數,開發者可以輕鬆修改資料,實現參數化設計,從而創建出更加靈活和可配置的遊戲。

變數扮演著不可或缺的角色,為遊戲開發提供了必要的動態性和靈活性。


常見的變數資料型別

在Unity中,常見的變數類型包括:

  • 整數(Integer):整數類型使用int關鍵字聲明,用於儲存整數值。例如玩家的生命值、分數等。
  • 浮點數(Floating Point):浮點數類型使用float關鍵字聲明。用於儲存帶有小數部分的數值。例如物體的位置、移動速度等。
  • 布林值(Boolean):布林值類型使用bool關鍵字聲明,用於儲存邏輯值。例如開關狀態、觸發器是否被觸發等。
  • 字符串(String):字符串類型使用string關鍵字聲明,用於儲存文本數據。例如遊戲中的對話、UI文本等。
  • 向量(Vector):常用的向量類型包括二維向量Vector2和三維向量Vector3用於表示二維或三維空間中的位置、方向等。

int 名稱 = 1; //整數

float 名稱 = 5.214f; //浮點數

bool 名稱 = true; //布林值

string 名稱 = "你好(這邊打什麼字符號都行)"; //字串

這些是Unity中常用的變數類型,它們可以滿足遊戲開發中的各種需求,並且能夠幫助開發者有效地管理和處理遊戲中的數據。當然除了這些最基本的資料型別之外,還有其他很多種型別,像是long(可以存放更大的整數)、double(可以存放更多小數點後位數的浮點數)等等,等到有需要再去了解就可以了




變數是什麼 : 用來表示值的名稱。顧名思義,存在變數裡的值是可以被改變的。

宣告方式:資料型別 變數名稱 = 內容。注意,程式語言裡的等號不是等於的概念,而是把等號右邊賦值給左邊的概念。a = b → 賦予a一個b的值,或者是說,把b存進a裡。

類別、結構、靜態變數、陳列元素中的變數宣告時若無指派初值,會自動給予初始值

數字型別初始值為0



現在我想來點 數學 :)

有數字,當然免不了一些數學

先來看一下運算式、運算元、運算子的關係圖:

raw-image


換算成數學說法來看,運算式(expression)就是算式,運算元(operand)就是要被加減乘除的東西,運算子(operator)就是加減乘除以及其他的運算符號好朋友們!

C#有哪一些運算子?

根據運算子的功能,可以分為以下幾種類型:

1. 算術運算子 +-*/

2. 關係運算子(等號比較運算子、比較運算子) ><=

3. 邏輯運算子、條件邏輯運算子

4. 位元運算子(二進位制) 01100101

5. 移位運算子(二進位制) 12120211

6. 指定運算子

7. 條件運算子


1.算術運算子

分為一元運算子及二元運算子,先講最容易理解的二元運算子

+ .... 加左邊加右邊 .... ex 3+2=5

- .... 減左邊減右邊 .... ex 3-2=1

* .... 乘左邊乘以右邊 .... ex 3 * 2=6

/ .... 除左邊除以右邊 .... ex 3/2=1.5(用float或是double會顯示1.5,用int會顯示1)

% .... 取餘數左邊除以右邊並取其餘數 .... ex 3%2=1(3除以2餘1)

#加法說明:加法也可以用在字串相加


一元運算子

a++ .... 自己後加一 .... a先是自己,然後自己再+1。

++a .... 自己先加一 .... a先加1後再做後續。

a-- .... 自己後減一 .... a先是自己,然後自己再-1。

--a .... 自己先減一 .... a先減1後再做後續。


2.關係運算子(等號比較運算子、比較運算子)

為二元運算子,運算後傳回的結果為布林值:True或False

運算子 意義 數學式

== .... 相等 .... A = B

!= .... 不相等 .... A ≠ B

> .... 大於 .... A > B

< .... 小於 .... A < B

>= .... 大於或等於 .... A≧B

<= .... 小於或等於 .... A≦B

用法就跟數學上的意義是相同的喔~


3. 邏輯運算子、條件邏輯運算子

運算子 意義 說明

! .... 否定 .... "非"(not)的意思。若A本身為真,!A為假。若A本身為假,!A為真

& .... 且(And) .... A & B,當A、B都為真時,結果才會為真

| .... 或(Or) .... A | B,當A、B其中一個為真時,結果為真

&& .... 且 .... A&& B,當A、B都為真時,結果才會為真

|| .... 或 .... A || B,當A、B其中一個為真時,結果為真

^ .... XOr .... 邏輯互斥


欸等等,這個表裡面好像有兩組東西很像耶,&還有&&,|還有||差在哪?

只有一個的|還有&,在進行判斷時,前後兩個運算元都會評估

兩個的||和&&,在進行判斷時,只有在必要時才會評估右邊的運算元


假 & 真:已經知道第一個是假了,&還是會求出前後運算元的值才進行判斷

假 && 真:第一個已經是假了,結果必定為假,&&不用求出右邊運算元的值就會進行判斷

所以在進行判斷時||跟&&是比較有效率的,比較重要的比較值就放前面囉~


6. 指定運算子

運算子 說明 例子

= .... 把右方指定給左方 .... a=5;一直在用XD

+= .... 把左方加右方後再指定給左方 .... a+=5;->等同於a=a+5的意思

-= .... 把左方減右方後再指定給左方 .... a-=5;->等同於a=a-5的意思

*= .... 把左方乘右方後再指定給左方 .... a*=5;->等同於a=a*5的意思

/= .... 把左方除以右方後再指定給左方 .... a/=5;->等同於a=a/5的意思


7. 條件運算子

再加入一些if 之類的條件

來試個題目看看 加減乘除



Static v.s. Public v.s. Private ?

在程式多少會看到Static、Public、Private 阿這些又是什麼呢?我們往下來看..

他們通常在程式語言C#中用於定義類(屬性、方法)的訪問修飾符,以指定這些變數對其他程式碼的可見性和可存取性。你也可以想像是「使用權限」那樣的東西,用來告訴unity你要指派的變數或其他程式的使用權限。


這裡是它們的用法:

Static:表示該成員屬於類本身,而不是屬於該類的個別實例。表示可以直接使用類名來訪問靜態成員,而不需要實例化該類。靜態成員在整個應用程序中只有一個副本,因此它們可以用於存儲對象間共享的資料或方法。

Public:表示該成員對於同一個程式中的所有類都是可見的。換句話說,它可以在任何地方被存取,包括其他類和程式碼文件。通常,對於需要從外部存取的成員(如公共方法、屬性)。

Private:表示該成員僅對定義它的類可見和可訪問。外部類無法直接訪問或修改私有成員,只能通過類的公有方法間接訪問。在Unity中,私有成員通常用於內部操作或邏輯,防止外部對象直接訪問和修改。有助於保持腳本的封裝性和安全性。

表示該成員只能在定義它的類內部訪問,對於外部程式碼是不可見的。這是最常見的訪問修飾符,並且是C#中的預設值。私有成員只能被同一類中的其他成員存取。


Static (全域) v.s. Public (公用) v.s. Private(私人)

avatar-img
4會員
20內容數
Gavin Hsieh ㄉ基地
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Gavin Hsieh ㄉ基地 的其他內容
本章節要帶大家初探虛擬實境這個產業~~~ 伴隨著科技進步發展,VR 虛擬實境已逐漸擴大應用到許多產業之中,2021 年不能錯過的熱搜榜科技新詞「元宇宙」更是其混合使用的最強案例。然而, AR/VR 混合式的 MR 以及 XR 也趁勢崛起,大幅度的挑戰人們對於感官的互動體驗! 虛擬實境(Vir
本章節要帶大家初探虛擬實境這個產業~~~ 伴隨著科技進步發展,VR 虛擬實境已逐漸擴大應用到許多產業之中,2021 年不能錯過的熱搜榜科技新詞「元宇宙」更是其混合使用的最強案例。然而, AR/VR 混合式的 MR 以及 XR 也趁勢崛起,大幅度的挑戰人們對於感官的互動體驗! 虛擬實境(Vir
你可能也想看
Google News 追蹤
Thumbnail
大家好,我是woody,是一名料理創作者,非常努力地在嘗試將複雜的料理簡單化,讓大家也可以體驗到料理的樂趣而我也非常享受料理的過程,今天想跟大家聊聊,除了料理本身,料理創作背後的成本。
Thumbnail
哈囉~很久沒跟各位自我介紹一下了~ 大家好~我是爺恩 我是一名圖文插畫家,有追蹤我一段時間的應該有發現爺恩這個品牌經營了好像.....快五年了(汗)時間過得真快!隨著時間過去,創作這件事好像變得更忙碌了,也很開心跟很多厲害的創作者以及廠商互相合作幫忙,還有最重要的是大家的支持與陪伴🥹。  
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
這篇內容,將會講解什麼是表達式(Expression),什麼是陳述式(Statement)。有了這些概念,各位會更容易理解,要如何設計程式碼。
Thumbnail
這篇內容,將會講解什麼是函式,以及與函式相關的知識。包括函式的簡介、Runtime Function、自訂函式、Script Function 腳本函式、Method 方法。
Thumbnail
這篇內容,將會講解什麼是資料型態,以及與資料型態相關的知識。包括資料型態的簡介、實數、布林值、 字串、陣列。
Thumbnail
這篇內容,將會用一個簡單的範例,來解釋物件(Object)和實體(Instance)的差別。包括Instance的簡介、ID、物件改變會影響實體。
Thumbnail
這篇內容,將會講解什麼是變數,以及與變數相關的知識。包括變數、資料型態、變數賦值、變數的命名規則、變數的作用區域、變數的可重複性、內建變數。
Thumbnail
在本章節中,我們將學習JavaScript的基本語法,包括如何註解代碼和如何聲明變數。瞭解這些基礎知識對於進一步學習和使用JavaScript來編寫代碼是非常重要的。
Thumbnail
C#程式由一或多個檔案組成,包含命名空間、類別、結構、介面、列舉和委派等型別。Main方法是C#應用程式的進入點。在C#中,註解用於在程式碼中添加說明,有單行和多行兩種類型。變數的定義需要指定變數的類型和名稱,可以一次為多個變數賦值。
※ 認識變數: 變數(variable)是在程式裡面把東西存起來的概念。 基於不讓電腦每次都需要重新運算,把需要花時間運算的東西先存起來,之後再直接拿出來使用,所以我們需要變數。 變數儲存的位置在電腦裡的記憶體。變數就像是一個箱子,記憶體就像是一個倉庫。箱子的名稱就是變數名稱,箱子的內容物就是
Thumbnail
大家好,我是woody,是一名料理創作者,非常努力地在嘗試將複雜的料理簡單化,讓大家也可以體驗到料理的樂趣而我也非常享受料理的過程,今天想跟大家聊聊,除了料理本身,料理創作背後的成本。
Thumbnail
哈囉~很久沒跟各位自我介紹一下了~ 大家好~我是爺恩 我是一名圖文插畫家,有追蹤我一段時間的應該有發現爺恩這個品牌經營了好像.....快五年了(汗)時間過得真快!隨著時間過去,創作這件事好像變得更忙碌了,也很開心跟很多厲害的創作者以及廠商互相合作幫忙,還有最重要的是大家的支持與陪伴🥹。  
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
這篇內容,將會講解什麼是表達式(Expression),什麼是陳述式(Statement)。有了這些概念,各位會更容易理解,要如何設計程式碼。
Thumbnail
這篇內容,將會講解什麼是函式,以及與函式相關的知識。包括函式的簡介、Runtime Function、自訂函式、Script Function 腳本函式、Method 方法。
Thumbnail
這篇內容,將會講解什麼是資料型態,以及與資料型態相關的知識。包括資料型態的簡介、實數、布林值、 字串、陣列。
Thumbnail
這篇內容,將會用一個簡單的範例,來解釋物件(Object)和實體(Instance)的差別。包括Instance的簡介、ID、物件改變會影響實體。
Thumbnail
這篇內容,將會講解什麼是變數,以及與變數相關的知識。包括變數、資料型態、變數賦值、變數的命名規則、變數的作用區域、變數的可重複性、內建變數。
Thumbnail
在本章節中,我們將學習JavaScript的基本語法,包括如何註解代碼和如何聲明變數。瞭解這些基礎知識對於進一步學習和使用JavaScript來編寫代碼是非常重要的。
Thumbnail
C#程式由一或多個檔案組成,包含命名空間、類別、結構、介面、列舉和委派等型別。Main方法是C#應用程式的進入點。在C#中,註解用於在程式碼中添加說明,有單行和多行兩種類型。變數的定義需要指定變數的類型和名稱,可以一次為多個變數賦值。
※ 認識變數: 變數(variable)是在程式裡面把東西存起來的概念。 基於不讓電腦每次都需要重新運算,把需要花時間運算的東西先存起來,之後再直接拿出來使用,所以我們需要變數。 變數儲存的位置在電腦裡的記憶體。變數就像是一個箱子,記憶體就像是一個倉庫。箱子的名稱就是變數名稱,箱子的內容物就是