unity3d游戲開發(fā)之Unity自定義編輯器界面.doc

unity3d游戲開發(fā)之Unity自定義編輯器界面.doc

ID:62151874

大?。?5.00 KB

頁(yè)數(shù):2頁(yè)

時(shí)間:2021-04-19

unity3d游戲開發(fā)之Unity自定義編輯器界面.doc_第1頁(yè)
unity3d游戲開發(fā)之Unity自定義編輯器界面.doc_第2頁(yè)
資源描述:

《unity3d游戲開發(fā)之Unity自定義編輯器界面.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、個(gè)人收集整理勿做商業(yè)用途好吧,我承認(rèn)自己是個(gè)強(qiáng)迫癥患者,在做項(xiàng)目的時(shí)候發(fā)現(xiàn)腳本的Inspector面板上暴露的密密麻麻的變量頭皮一陣發(fā)麻~~~?舉個(gè)例子比如我要寫一個(gè)Enemy的類,我希望這個(gè)Enemy里面包括了所有的 敵人類型,比如飛機(jī) 坦克等等。?但是由于類型不同,他們的一直變量類型也不同,比如坦克的 變量類型可能有 移動(dòng)速度,子彈類型,或者其他的,飛機(jī)的變量類型有飛行速度,等等。如果不加整理那么在Inspector 面板就會(huì)暴露出密密麻麻的變量不僅頭暈,而且不利于調(diào)試。其實(shí)就是我強(qiáng)迫癥發(fā)作了,我只想

2、面板顯示我想要的東西。?好吧下面開始首先我新建一個(gè)test1 腳本C#?這篇文章來自狗刨學(xué)習(xí)網(wǎng)我們的目標(biāo)是通過枚舉類型來定義當(dāng)前物體的類型。如果m_type是player,那么就顯示playerlife;如果是enemy就顯示enemylife。?下面我們需要寫一個(gè)腳本去重寫Inspector界面。?新建一個(gè)文件夾命名為Editor 因?yàn)槲覀冃枰??using?。酰頸tyEditor 而是用這個(gè)的腳本必須在名字為Editor的文件下。在Editor文件下創(chuàng)建一個(gè)C#新腳本名字隨意我的叫Inspector_

3、test1???首先頭部加入usingUnityEditor??個(gè)人收集整理勿做商業(yè)用途[CunstomEditor(typeof(test1))]繼承改為 Editor??首先我們要序列化一個(gè)物體就是說腳本會(huì)附在一個(gè)Object上??還有腳本的變量??在OnEnable()里面初始化Objcet對(duì)象抓取腳本里面的屬性?然后 再重寫OnI(lǐng)nspectorGUI()??首先是更新腳本的信息test.Update();?然后顯示枚舉類型變量 m_type這個(gè)變量是一定要暴露出來的因?yàn)橥ㄟ^它來定義這個(gè)物體的屬性

4、 是player還是 enemy??EditorGUILayout.propertyField(m_type);?然后我們來判斷這個(gè)m_type是哪個(gè)值 是player還是enemy.???我們通過?SerializedProperty.enumValueIndex枚舉值索引來檢索當(dāng)前枚舉類型的變量值是哪個(gè)??例如在 type枚舉類型里面player的枚舉值索引下標(biāo)為0 enemy??的枚舉值索引下標(biāo)為1這樣我們通過判斷m_type的枚舉下標(biāo)的值就可以推斷出當(dāng)前值的哪一個(gè),進(jìn)而進(jìn)行相關(guān)的操作了。最后,通過

5、?SerializedObject.ApplyModifiedProperties應(yīng)用修改的屬性效果???

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。