C#代碼跟unity關聯教程

1、C#腳本的規則

(1)凡事需要添加到遊戲對象的C#腳本類都是需要直接或者間接的繼承 MonoBehaviour 如果在unity添加腳本 unity會自動填充繼承MonoBehaviour的代碼 如果是自己新建一個文件 然後在unity從拖拽添加component 這樣是不會成功的(後面會說unity怎麼添加C#文件)

(2)繼承了MonoBehaviour的類 都會有Start 和 Awake函數的繼承 一般使用Start和Awake來初始化 不使用構造函數的原因是unity中無法確定構造函數的順序。這裡我覺得有個原因是:unity會把所有綁定在對象身上的類實例化 然後才可以GetComponent() 例如:下面的操作如果在構造函數中做 可能PlayerAttack這個沒有實例化 那麼獲取不到 所以把初始化工作放在Start中

Alt text

(3)類名和腳本文件名相同

(4)協同函數Coroutines 返回類型必須是Ienumerator

(5)C#不支持自定義命名空間

2、C#腳本在unity編輯器中關聯對象(十三章有詳細介紹)

1、創建腳本的方法:

Alt text

2、創建完之後的編輯:

這裡可以修改用MonoDevelop的編輯器 或者用Vs2012作為代碼編輯

Alt text

3、關聯到對象去

(3.1)添加一個gameobject

Alt text

(3.2) 然後給gameObject添加腳本

Alt text

Alt text

在Unity中,繼承MonoBehaviour的C#腳本都被看作一個Component 遊戲對象可以理解為一個容納各種類型component的容器 遊戲對象的所有component一起決定了這個對象的行為表現 這個對象被添加到scene中之後 然後點擊build and run 之後這個腳本的Start函數就會被調用一起 可以在這裡輸出 hello world 這就算是unity的hello world

3、怎麼獲取別的對象以及他的component

使用函數 GameObject.Find null則是找不到 根據類名

使用函數GameObject.FindWithTag

還有在unity編輯器中拖拽

查看數組的表13-6 表13-7 表13-8 表13-9

Alt text

Alt text

Alt text

Alt text


推薦閱讀:

TAG:Unity遊戲引擎 | unity |