[Unity中文課堂教程預(yù)告片] C#初級編程

[Unity中文課堂教程預(yù)告片] C#初級編程
| 快速過了一遍 C#的基礎(chǔ)編程語法 #230527
01 作為行為組件的腳本
腳本(.cs)是作為對象(object)的行為組件,添加到對象上的
02 變量和函數(shù)
聲明、初始化
定義函數(shù)
03 約定和語法
. 類比 尋址
; 是一段結(jié)尾
縮進 有利于閱讀
// /*。。。。*/ 兩種注釋方法
04 IF語句
if(xx>xx){...;}
else if(xx<xx){...;}
else{...;}
05 循環(huán)
3種
- while
- do while
- for
06 作用域和訪問修飾符
public、private
作用范圍
類也可以 公開,在其他腳本可以訪問
07 Awake and Start
Awake 在初始化之前,即使腳本沒有激活,也會調(diào)用
Start 在腳本初始化時候
08 Update 和 FixedUpdate
Update 間隔時間不固定,F(xiàn)ixedUpdate間隔時間固定 0.02s
ctrl+shift+M 調(diào)出方法()工具

09 矢量數(shù)學(xué)
文檔:向量
dot()
Cross()
10 11 啟用和禁用組件 激活游戲?qū)ο?/strong>
object.enabled = true;
激活子物體、激活層級
12 移動和旋轉(zhuǎn)

局部坐標(biāo)
Vector3.forward
Vector3.up
13 Look At
也是物體移動的一種方法,改變局部坐標(biāo)的方向
14 銷毀
銷毀對象,可以掛在其他對象銷毀這個對象
銷毀組件,如 MeshRenderer組件,以不顯示
延時銷毀
15 GetButton/Key
有3種狀態(tài):
- GetButtonDown
- GetButton
- GetButtonUp
五種情況
- 沒有按下
- 剛按下
- 保持按下
- 剛松開
- 松開后(和1同)
- 2-3 GetButton True
bool down = Input.GetKeyDown(KeyCode.Space);
bool held = Input.GetKey(KeyCode.Space);
bool up = Input.GetKeyUp(KeyCode.Space);
用來獲得 按鍵狀態(tài)
---
16 GetAxis(搖桿)
這個是獲得 浮點值(-1,1)

重要屬性:
- Gravity
- Dead
- Sensitivity
- Snap
18 OnMouseDown
用于觸發(fā)點擊事件
19 GetComponent
需要調(diào)用很多資源,只在最開始(Awake 項目載入)使用

20 DeltaTime

需要用DeltaTime 來讓運動變平滑,因為每幀的時間間隔不是固定的

給物體運動 每個時間間隔,而不是update的幀
21 數(shù)據(jù)類型

Value 數(shù)據(jù)類型 的數(shù)據(jù)更改,不會改變賦值對象
Reference 指向同一地址,會改變賦值對象
22 類
盒子、機器、工廠
把每個類 做單一,執(zhí)行簡單的功能

分成三個類

容易寫、閱讀、編程效率高

構(gòu)造函數(shù),用來創(chuàng)建。。。
ctor 創(chuàng)建一個 結(jié)構(gòu)體(Stuff)
怎么設(shè)計函數(shù)結(jié)構(gòu)?怎么編寫一個大類?
23 實例化

Instantiate 有不同版本
發(fā)射的 要在一定時間后 銷毀
24 數(shù)組
可以在unity中設(shè)置 數(shù)組的內(nèi)容
也可以獲取到所有數(shù)組內(nèi)容,再循環(huán)操作

25 Invoke

在start里用 Invoke/InvokeRepeating (請求)
需要 暫停 Invoke,使用 CancelInvoke
26 Enumerations 枚舉
用于建立 用代號表示的一組數(shù)據(jù)
可以指定每個數(shù)據(jù)的數(shù)值(編號)、數(shù)據(jù)類型

27 Switch 語句
》 相比 if else 更精簡

default 相當(dāng)于 else 包含其他沒考慮的情況