完成了Debug.log()的測試,接著還是要跟各位簡單講一下C#的一些規則,之後看程式會(比較)看得懂。
在Unity中,變數是重要的工具,用來儲存和管理資料。讓開發者能夠靈活調整遊戲的行為,減少代碼的重複性,使得遊戲開發更加高效和簡潔。透過使用變數,開發者可以輕鬆修改資料,實現參數化設計,從而創建出更加靈活和可配置的遊戲。
變數扮演著不可或缺的角色,為遊戲開發提供了必要的動態性和靈活性。
在Unity中,常見的變數類型包括:
int 名稱 = 1; //整數
float 名稱 = 5.214f; //浮點數
bool 名稱 = true; //布林值
string 名稱 = "你好(這邊打什麼字符號都行)"; //字串
這些是Unity中常用的變數類型,它們可以滿足遊戲開發中的各種需求,並且能夠幫助開發者有效地管理和處理遊戲中的數據。當然除了這些最基本的資料型別之外,還有其他很多種型別,像是long(可以存放更大的整數)、double(可以存放更多小數點後位數的浮點數)等等,等到有需要再去了解就可以了
變數是什麼 : 用來表示值的名稱。顧名思義,存在變數裡的值是可以被改變的。
宣告方式:資料型別 變數名稱 = 內容
。注意,程式語言裡的等號不是等於的概念,而是把等號右邊賦值給左邊的概念。a = b → 賦予a一個b的值,或者是說,把b存進a裡。
類別、結構、靜態變數、陳列元素中的變數宣告時若無指派初值,會自動給予初始值
數字型別初始值為0
有數字,當然免不了一些數學
先來看一下運算式、運算元、運算子的關係圖:
換算成數學說法來看,運算式(expression)就是算式,運算元(operand)就是要被加減乘除的東西,運算子(operator)就是加減乘除以及其他的運算符號好朋友們!
根據運算子的功能,可以分為以下幾種類型:
1. 算術運算子 +-*/
2. 關係運算子(等號比較運算子、比較運算子) ><=
3. 邏輯運算子、條件邏輯運算子
4. 位元運算子(二進位制) 01100101
5. 移位運算子(二進位制) 12120211
6. 指定運算子
7. 條件運算子
分為一元運算子及二元運算子,先講最容易理解的二元運算子
+ .... 加左邊加右邊 .... 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後再做後續。
為二元運算子,運算後傳回的結果為布林值:True或False
運算子 意義 數學式
== .... 相等 .... A = B
!= .... 不相等 .... A ≠ B
> .... 大於 .... A > B
< .... 小於 .... A < B
>= .... 大於或等於 .... A≧B
<= .... 小於或等於 .... A≦B
用法就跟數學上的意義是相同的喔~
運算子 意義 說明
! .... 否定 .... "非"(not)的意思。若A本身為真,!A為假。若A本身為假,!A為真
& .... 且(And) .... A & B,當A、B都為真時,結果才會為真
| .... 或(Or) .... A | B,當A、B其中一個為真時,結果為真
&& .... 且 .... A&& B,當A、B都為真時,結果才會為真
|| .... 或 .... A || B,當A、B其中一個為真時,結果為真
^ .... XOr .... 邏輯互斥
欸等等,這個表裡面好像有兩組東西很像耶,&還有&&,|還有||差在哪?
只有一個的|還有&,在進行判斷時,前後兩個運算元都會評估。
兩個的||和&&,在進行判斷時,只有在必要時才會評估右邊的運算元。
假 & 真:已經知道第一個是假了,&還是會求出前後運算元的值才進行判斷
假 && 真:第一個已經是假了,結果必定為假,&&不用求出右邊運算元的值就會進行判斷
所以在進行判斷時||跟&&是比較有效率的,比較重要的比較值就放前面囉~
運算子 說明 例子
= .... 把右方指定給左方 .... a=5;一直在用XD
+= .... 把左方加右方後再指定給左方 .... a+=5;->等同於a=a+5的意思
-= .... 把左方減右方後再指定給左方 .... a-=5;->等同於a=a-5的意思
*= .... 把左方乘右方後再指定給左方 .... a*=5;->等同於a=a*5的意思
/= .... 把左方除以右方後再指定給左方 .... a/=5;->等同於a=a/5的意思
再加入一些if 之類的條件
來試個題目看看 加減乘除
在程式多少會看到Static、Public、Private 阿這些又是什麼呢?我們往下來看..
他們通常在程式語言C#中用於定義類(屬性、方法)的訪問修飾符,以指定這些變數對其他程式碼的可見性和可存取性。你也可以想像是「使用權限」那樣的東西,用來告訴unity你要指派的變數或其他程式的使用權限。
這裡是它們的用法:
Static:表示該成員屬於類本身,而不是屬於該類的個別實例。表示可以直接使用類名來訪問靜態成員,而不需要實例化該類。靜態成員在整個應用程序中只有一個副本,因此它們可以用於存儲對象間共享的資料或方法。
Public:表示該成員對於同一個程式中的所有類都是可見的。換句話說,它可以在任何地方被存取,包括其他類和程式碼文件。通常,對於需要從外部存取的成員(如公共方法、屬性)。
Private:表示該成員僅對定義它的類可見和可訪問。外部類無法直接訪問或修改私有成員,只能通過類的公有方法間接訪問。在Unity中,私有成員通常用於內部操作或邏輯,防止外部對象直接訪問和修改。有助於保持腳本的封裝性和安全性。
表示該成員只能在定義它的類內部訪問,對於外部程式碼是不可見的。這是最常見的訪問修飾符,並且是C#中的預設值。私有成員只能被同一類中的其他成員存取。