【unity】解決 2d-extras 的 CustomRuleTileMenu 腳本報錯的問題


2d-extras unity 官方 TileMap 做的一個非常好用的插件,你可以在 GitHub 上下載到它。

   

你可能跟我一樣遇到下載的 2d-extras 包里的 CustomRuleTileMenu 腳本報錯的情況。

 

 

根據報錯提示,是調用了並不存在的函數,經過查找,確實是缺少了相應的函數。

 

解決方案一

只需要打開那個腳本,然后把里面的代碼替換成以下的代碼即可。

 

 

 1 namespace UnityEditor
 2 {
 3     static class CustomRuleTileMenu
 4     {
 5         [MenuItem("Assets/Create/Custom Rule Tile Script", false, 89)]
 6         static void CreateCustomRuleTile()
 7         {
 8             CreateScriptAsset("Assets/Tilemap/Rule Tiles/Scripts/ScriptTemplates/NewCustomRuleTile.cs.txt", "NewCustomRuleTile.cs");
 9         }
10 
11         static void CreateScriptAsset(string templatePath, string destName)
12         {
13             typeof(ProjectWindowUtil)
14                 .GetMethod("CreateScriptAsset", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic)
15                 .Invoke(null, new object[] { templatePath, destName });
16         }
17     }
18 }

 

 

解決方案二

或者,改用 2d-techdemos 版本,這個是官方提供的,供大家學習的版本,里面除了完整的 2d-extras 外還包括了一些示例,經本人親測,這個版本沒有問題,就是示例素材和palette太多,不需要它們時就會略顯礙眼。

 

事實上,解決方案一中的代碼就是這個 2d-techdemos 版本里的 CustomRuleTileMenu 腳本文件的代碼。

 

如果你有興趣,對比 2d-extras 版本和2d-techdemos 版本 的CustomRuleTileMenu腳本內容,不難看出兩者實現的是同樣的功能,只是實現方法有些出入而已,我做的也只是相當於替換零件的操作。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM