2 回答

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊
你現(xiàn)在有錯(cuò)誤的原因是,Unity 在編譯時(shí)刪除了他們?yōu)樗O(shè)計(jì)的“UnityEditor”命名空間。這就是為什么當(dāng)您嘗試在平臺(tái)上使用它時(shí),“EditorUtility”將永遠(yuǎn)不會(huì)存在于除 UnityEditor 之外的任何平臺(tái)上。因?yàn)椤癊ditorUtility”在“UnityEditor”命名空間中。
因此,如果您想使用“EditorUtility”完成與在 Unity 編輯器中所做的相同的工作,您應(yīng)該像他們一樣自己實(shí)現(xiàn)它。
#if UNITY_EDITOR
EditorUtility.DisplayDialog("Great!", "You got the pattern right!", "Next Level!");
#else
YOUROWNCLASS.DisplayDialog("Great!", "You got the pattern right!", "Next Level!");
#endif

TA貢獻(xiàn)1982條經(jīng)驗(yàn) 獲得超2個(gè)贊
UnityEditor
內(nèi)容通常只能在編輯器中使用,因?yàn)樵趯⒂螒驑?gòu)建為獨(dú)立 EXE 時(shí)不能使用它。
如果您實(shí)際上是為編輯器編譯游戲,請(qǐng)嘗試添加預(yù)處理器指令以僅包含與編輯器相關(guān)的內(nèi)容。
#if UNITY_EDITOR EditorUtility.DisplayDialog("Great!", "You got the pattern right!", "Next Level!"); #endif
正如@Retired Ninja 在評(píng)論中告訴我們的那樣,您還需要#if UNITY_EDITOR ... #endif
在您的行周圍放置相同的指令。using UnityEditor;
- 2 回答
- 0 關(guān)注
- 368 瀏覽
添加回答
舉報(bào)