为什么在Unity播放时功能正常,打包成exe后却功能失灵

  • Post author:
  • Post category:其他


现在用unity开发的个人和工作室越来越多,很多中小企业也是,就连某些号称有自己游戏引擎的大企业也在用。

加上培训机构的各种unity的招聘信息和招生信息,铺天盖地的广告,一时间unity看样子真的是火的不行了。

在众多用户的使用下,各种各样的问题就开始浮现水面。

个人开发者都喜欢直接点Unity自带的发布,一键生成,打包。那么就有可能出现,像标题这个问题,一切做好后,在unity点击播放,试了几下,完全没问题,但点发布,成功打包exe后,奇葩问题出现,比如功能失灵,没效果,这样的问题,真的是莫名其妙。


下面简单说下,怎么排除:

1.现在unity可以出现各种中文,比如目录用中文命名,脚本也可以用中文,各种资源文件都可以用中文,要知道这在以前是不行,是会报错的。

那么现在可以了吗,事实胜于雄辩,可以是可以,但打包后,会出问题的,比如脚本功能失灵,资源加载错乱,找不到等。

2.虽然脚本不用中文命名了,但因为unity2017后就不再自带mono脚本编辑器,所以很多人用的都是vs2017之类的,这个vs2017是可以用中文写命名空间名,类名,方法名和变量名之类的,在unity点播放测试的时候也是没问题的。

就是打包后,会出现功能错乱,或失灵,脚本少时不会,一旦多,或复杂些,就会出现这个问题。

所以使用unity的时候,除了注释以外,不要出现除26个大小写字母和阿拉伯数字,加下划线以外的。

3.关于UGUI的自适应,和创建,就到unity2018为止还有几个小问题,比如:如果预先制作好为预设体,要用时再创建,就会出现不会自适应的问题,这个问题好像仅限使用了Grid Layout Group这类组件(还有个上下排列和左右排列组件)的预设体存在。而且脚本方法名和其它类方法名相同时,就容易出现功能失效。

解决方法:只能预先摆放好后点隐藏,要用时再显示了。

补充:在所有ugui的text中都可以有任意字符串,这个不会出问题,其类型好像是string字符串类型,所以没问题的。

4.使用了外面下载的.ddl这样包,打包后,出现这个问题,可以检查一下这个.ddl是否被打包了进去。

5.以上问题出现时,成功打包成exe都不会报错,但有一种情况,就是成功打包exe了,结果最后还报了一两条红色,这个exe也确实可以打开,好像也没问题,其实有功能失灵的隐患,一般这个都是unity发布时的参数问题,关于这个可以根据提示直接解决。

6.最后,就有可能是静态方法里用了非静态方法,虽然没有报错,播放也正常,但打包后,为空的,当然就没有反应

大牛某冒充国家教育机构,怎么判



版权声明:本文为m0_46419510原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。