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(私人)

    3會員
    20內容數
    Gavin Hsieh ㄉ基地
    留言0
    查看全部
    發表第一個留言支持創作者!
    你可能也想看
    「我喜歡你,必須是喜歡和你相處時的我自己」沒有講述到書中的大概劇情走向,不會有爆雷的問題,可以安心服用🥰🥰。裡頭主要是關於我的感情觀還有我對書中字句的詮釋與看法,這是我的第一篇文章,寫得不好請多包涵🙇🏻‍♂️。雖然是書評,但是要看到最後才知道我對於這本書真正的想法,前面基本上都是由半評論半創作的形式,來鋪成我的核心思想。
    Thumbnail
    avatar
    聖育鬱寡歡迎光臨
    2024-03-29
    SEO與虛擬現實(VR)的結合前景在當今數位化時代,SEO(Search Engine Optimization)已經成為企業網路行銷的重要策略之一,而虛擬現實(VR)則是近年來崛起的新興科技。這兩者的結合將為網路行銷帶來全新的前景和可能性。 SEO公司如八拓科技有限公司等在數位行銷領域擁有豐富的經驗和專業知識,他們致力於利用SE
    avatar
    murguia amiya
    2024-03-15
    從《物質與記憶》談虛擬與現實如何共存   在談論《物質與記憶》前,讀者可先參閱筆者另篇文章〈從《蜆殼與圓錐─柏格森的時間虛擬性》─談影像(image)總合即物質〉(詳下方連結),可對柏格森的問題意識有一初步的認識。其問題意識除了對抗歐陸傳統哲學以理性主義為依歸,視經驗為普遍的,並排除非普遍的差異外(類似當今的科學),更欲對抗黑格
    Thumbnail
    avatar
    Kuan Ju Lee
    2024-03-14
    從《蜆殼與圓錐─柏格森的時間虛擬性》─談影像(image)總合即物質   本學期在中大哲研所由黃雅嫺老師所開的「柏格森《物質與記憶》」課程,本周請到北藝大美術學院的楊凱麟老師演講《蜆殼與圓錐─柏格森的時間虛擬性》(下稱《蜆殼與圓錐》),分享從德勒茲(Deleuze, 1925-1995)《運動─影像》、《時間─影像》談論柏格森(Henri Bergson, 1
    Thumbnail
    avatar
    Kuan Ju Lee
    2024-03-14
    VRMA:突破虛擬現實疆界的新標準VRM 的演進 為了讓 3D 虛擬人物能夠在不同平台和應用之間無縫使用,VRM Consortium 於 2018 年推出了 VRM (VRM 動畫) 格式。VRM 是一種開放的 3D 檔案格式,它基於 glTF 標準,具有良好的兼容性和可擴展性,自推出以來,得到了廣泛的認可和應用。
    Thumbnail
    avatar
    烽燧視覺 / FSVP
    2024-02-26
    一夜之間震撼世界的 Ai 影片 - SORA讓你懷疑身處虛擬還是現實如果AI能夠生成高質感的影片,對影視業不啻一場革命。 無需龐大設備和龐大後製團隊,只需要指令,幾分鐘即能輕鬆完成。 這對影視業來說無疑是一場革命。
    Thumbnail
    avatar
    路易老闆的品牌子彈學
    2024-02-20
    【AI Music】Virtual Reality 虛擬實境 FOMO 錯失恐懼症創作動機 現在有太多人生活在手機的世界中,整天滑的手機都不離手,這樣的生活是否正常呢?當然不正常。所以我們也要離開手機,過自己的生活。正視自己週邊的事物,而不光是沉迷在手機世界之中。別讓錯失恐懼症綁架你。 編曲 由於收集的片段比較多,在編曲上也顯得比較複雜。特別是FOMO這段,要如何處理才能讓
    Thumbnail
    avatar
    普普文創
    2024-01-24
    Palmer Luckey 的創業旅程:從虛擬實境到國防科技這期來聊聊創業家 Palmer Luckey 的創業歷程,他過去曾成立 Oculus VR、國防科技新創 Anduril。為什麼他會從虛擬實境轉作國防科技的題目?接著,也會談到,為什麼 Facebook(現改為 Meta) 會以 20 億美元收購 Oculus VR?
    Thumbnail
    avatar
    VK
    2024-01-22
    【創業好了沒】EP45 你必須要認識的原創男裝品牌 feat. DYC 創辦人 陳曉安 Evelyn【創業好了沒】EP45 你必須要認識的原創男裝品牌--Define Your Character feat. DYC
    Thumbnail
    avatar
    NTU EiMBA
    2024-01-18
    【新奇】虛擬實境遊戲「綠洲」國度即將誕生,讓你當上「一級玩家」 你嚮往《一級玩家》電影裡虛擬實境的「綠洲」國度嗎? 專門研發人工智慧、元宇宙技術及相關內容的公司 Futureverse 今天正式宣佈,他們已經與《一級玩家》的原著作者 - 厄尼斯特克萊恩、《一級玩家》電影的製片人丹法拉共同創立了一家新工作室 Readyverse Studios
    Thumbnail
    avatar
    Writing 生活玩家
    2024-01-05