【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