解锁爬坑新技能:FairyGUI在Unity中遇见的问题

2,530 阅读3分钟

这是我参与8月更文挑战的第29天,活动详情查看:8月更文挑战

👉关于作者

众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣!!!
专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)

欢迎关注公众号【空名先生】获取更多资源和交流!

👉即将学会

学完FairyGUI不算完,在实际项目中能够灵活应用才是关键。此次分享在实际项目中遇到的问题。帮你打通任督二脉!!!

系列教程:

解锁套娃新技能:FairyGUI在Unity中实现List嵌套List/立体画廊等,玩出花儿来 (juejin.cn)

Unity跨平台UI解决方案:可能是最全的FairyGUI系列教程-第一天 (juejin.cn)

Unity跨平台UI解决方案:可能是最全的FairyGUI系列教程-第二天 (juejin.cn)

Unity跨平台UI解决方案:可能是最全的FairyGUI系列教程-第三天 (juejin.cn)

Unity跨平台UI解决方案:可能是最全的FairyGUI系列教程-第四天 (juejin.cn)

Unity跨平台UI解决方案:可能是最全的FairyGUI系列教程-第五天 (juejin.cn)

Unity跨平台UI解决方案:可能是最全的FairyGUI系列教程-第六天 (juejin.cn)

Unity跨平台UI解决方案:可能是最全的FairyGUI系列教程-第七天 (juejin.cn)

Unity跨平台UI解决方案:可能是最全的FairyGUI系列教程-第八天 (juejin.cn)

👉实践过程

😜一

List嵌套按钮的时候,使用官方案例TestUI item = (TestUI)_list.AddItemFromPool()的形式始终失败,原因是FairyGUI的这个TestUI(这是Item)需要放在包的根目录下

😜二

上面这个Item里面添加动效的话,需要是容器组件动效(直接在空白处右键即可),而不是单独内容的时间轴动效

😜三

封装的小组件 关联容器使用宽对宽 高对高,因为动效会控制大小

😜四

这是因为gif图的序列帧图被分配在两个图集上。如下将纹理集从默认改为单独即可

😜五

文字显示模糊-待解决-官方支持TextMesh Pro 已经实现-但是除了官网步骤,还需要设置宏定义以及资源文件夹下不能有同名字体文件,还有不能设置全局字体,使用文本指定字体。

真这么简单?不可能的,打包发布后果然出现了问题:

FairyGUI: shader not found: FairyGUI/TextMeshPro/Distance Field

加载失败;找不到shader

将Fairygui放到Resources目录下即可

😜六

播放视频其实也超简单,但是自己马虎导致卡了两天,小空这放出踩的坑

有两种方式:

😜七

打包的时候如果纹理集选择的越是大的,则小的那些图会越模糊,暂时不知道为什么

😜八

可以实现类似Android中viewpager实现的首页banner那样,滑动的时候当滑动一半显示出两个item的时候,会自动的切换到漏出最多的那个item

配合【GList.scrollPane.onScrollEnd.Add】和【GList.GetFirstChildInView()】就可以获得当前滑动选中的index是谁。就可以做很多骚操作了

😜九​

当你的组件设置了【溢出处理】为可见的时候,如果给他添加【改变大小】动效,你会发现虽然有个边框有变化效果,但是这个组件还是没变,就是因为设置了【溢出处理】的原因。

今日职业病犯了,腰疼的坐不住,写不下去了。下节内容,改日更新。 抱歉!

👉其他

📢作者:小空和小芝中的小空

📢转载说明-务必注明来源:芝麻粒儿 的个人主页 - 专栏 - 掘金 (juejin.cn)

📢欢迎点赞👍收藏🌟留言📝