給Unity中的物體加上C#的代碼,并獲取物體的屬性
- 準備
- 1、Unity
- 2、VisualStudio
- 一、第一步
- 1、打開軟體
- 2、各種設定
- 二、第二步
- 1、各種創建
- 2、創建空代碼
- 三、進階(獲取立方體的Transform屬性并列印)
- 1、寫代碼,獲取物體屬性并列印
- 2、效果預覽
- 3、Start函式和Update函式的區別
- 特別鳴謝
準備
(基本為廢話,有些基礎的可以直接跳過)
1、Unity
軟體——Unity(5.3.4版本)或者(2018)

這倆選一個就好,不需要兩個都有
這是我用的兩個版本,親測過,別的沒用過,應該差別不大
2、VisualStudio
簡稱VS,2017版或者2019版
至此準備作業完成
一、第一步
1、打開軟體
新建一個場景(點擊這個new),然后起好名字、選好儲存位置后點擊Create project

2、各種設定
- 打開Unity后是是這個樣子

- 我習慣把他的布局格式改成2 By 3的,改好之后是這樣

五個板塊分別是:
| 軟體內各區域的名字 | 作用及我的理解 |
|---|---|
| Scene | 場景 |
| Game | 游戲畫面(玩家視角) |
| Hierarchy | 層次結構(物體層級) |
| Project | 各種組件 |
| Inspector | 監視(物體詳情) |
- 在Edit選單中打開Preferences…

- 選擇打開第二個,依圖更改里面的External Script Editor(這里我用的vs2019版,根據個人使用的軟體修改打開方式)

二、第二步
1、各種創建
-
在示例場景(Sample Scene)中單擊右鍵選擇一個物體(如:正方體)

-
創建好了之后在Project(組件)里右鍵Assets→Create→Folder創建一個新檔案夾專門用來放代碼(可以改名,我改為code)

2、創建空代碼
-
在code里右鍵創建一個新的C#檔案,改名并打開

我這里改為GetTrsndFrom,打開后一定要注意C#中命名空間的名字是否和C#檔案名一致(下面兩張圖片),這兩個地方一定要一樣,否則出錯將會是致命的,

-
在Unity中用滑鼠將代碼拖到立方體的Inspector(物體詳情內),



-
打開剛剛的C#檔案,里面的代碼應該是這個樣子
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GetTrsndFrom : MonoBehaviour {
// Use this for initialization
void Start () {
//此函式里的代碼只會在游戲開始第一幀運行一次;
}
// Update is called once per frame
void Update () {
//此函式里的代碼會在游戲開始后每幀都運行;
}
}
到這里算是完成了在Unity中創建一個C#空代碼,以下為進階,如何獲取并列印正方體的Transform屬性
三、進階(獲取立方體的Transform屬性并列印)
1、寫代碼,獲取物體屬性并列印
//比如我們需要獲取正方體的Transfor屬性需要如下代碼
var tmpSize = GameObject.Find("Cube").GetComponent<Collider>().transform;
Debug.Log(tmpSize);
//寫在Start函式和Update函式中有什么區別說過了,親們可以分別試一試
看不懂的不用著急,這些可以先復制下來,后面慢慢學,完成后保存、切換到Unity界面點擊中間上方的開始按鈕

2、效果預覽
列印效果如下:
- 直接點擊開始稍等片刻,等待游戲運行起來就會在最左下角看到一行字

- 單擊這個會打開一個對話框,顯示更多資訊

- 雙擊這個會打開運行這行的代碼,并選中運行的具體某一行
- 將來代碼中無誤的情況下,這里會經常報錯,雙擊打開就可以看到是哪一行錯了,最常遇到的錯誤就是 “ 空指標例外 ” 如下圖:

3、Start函式和Update函式的區別
直接區別就是一個只在游戲開始時運行一幀,一個每一幀都會運行,具體效果留給大家嘗試,
特別鳴謝
感謝大家的支持,對于一個新手來說能有這么多的瀏覽量我非常的詫異和興奮,也是你們的這個驚喜,給了我寫下去的理由,我也深深的體會到了有人關注是會給人多么強大的動力,所以在這里特別鳴謝我的粉絲們,感謝你們的關注,我回繼續加油,如果文章有什么不足或者有什么問題和建議都可以直接 私信我或者評論留言,每一條我都會仔細閱讀并回復的,謝謝大家的支持!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/154077.html
標籤:其他
