Untiy CurvedUI 的使用的bug修正
本文章由cartzhang编写,转载请注明出处。 所有权利保留。
文章链接:http://blog.csdn.net/cartzhang/article/details/51996538
作者:cartzhang
一、CurvedUI 插件
插件从Asset store上面下载后, 版本为1.7,2016年6月的版本。
官方地址:https://www.assetstore.unity3d.com/en/#!/content/53258
主要的代码有:
一个是编辑器代码,一个是曲面的设置,还有一个就是曲面的算法。
代码还是蛮长的,难度也有。需要的自己看吧!!!这里就不贴出来一一分析了。
用处不大!!!
二、问题
插件很好用。它是UGUI做的,代码写的也很明白。使用UGUI时间长的同学,心里可能会有些抵触。觉得这个用的时候有点不爽。但是这个基本还可以满足要求的。
问题是它的UI的刷新,有些问题。
我们需要的是,在分数增加的时候,可以实时滚动的增加得分条进度。但是数字可以跳动。但是进度就是不走。
在编辑器中需要点击一下Image,然后显示和隐藏一下就可以了。
如下图:
就是需要点击红圈内的Image。
这个很明显是刷新问题。
但是怎么解决呢?
没有办法还是先把代码看看吧!!
CurvedUISettings.cs代码:
void Update(){//recreate the geometry if entire canvas has been changedif ((transform as RectTransform).rect.size != savedRectSize){savedRectSize = (transform as RectTransform).rect.size;SetUIAngle(angle);}//check for improper canvas sizeif (savedRectSize.x == 0 || savedRectSize.y == 0)Debug.LogError("CurvedUI: Your Canvas size must be bigger than 0!");//moving the world space mouseif (Controller == CurvedUIController.WORLD_MOUSE){//touch can also be used to control a world space mouse, although its probably not the best experience//Use standard mouse controller with touch.if (Input.touchCount > 0){worldSpaceMouseOnCanvasDelta = Input.GetTouch(0).deltaPosition * worldSpaceMouseSensitivity;}else {worldSpaceMouseOnCanvasDelta = new Vector2((Input.mousePosition - lastMouseOnScreenPos).x, (Input.mousePosition - lastMouseOnScreenPos).y) * worldSpaceMouseSensitivity;lastMouseOnScreenPos = Input.mousePosition;}lastWorldSpaceMouseOnCanvas = worldSpaceMouseInCanvasSpace;worldSpaceMouseInCanvasSpace += worldSpaceMouseOnCanvasDelta;// Debug.Log("mouse canvas pos: " + worldSpaceMouseOnCanvas);}//更新数据foreach (CurvedUIVertexEffect ve in GetComponentsInChildren<CurvedUIVertexEffect>())ve.SetDirty();}
这个代码太长了。我就贴需要的吧!!!
说明问题即可。
注释部分写汉语的部分下面就是新增加代码。
就是这么简单。
原理也不用多说,就是设脏啊!!这样就可以顺利刷新了。
是不是超级简单。
三、BTW ,UGUI
在使用Unity的过程中,还是发现有某些UI的图片,不点击一下或显示隐藏一下就不能正常显示。
或是使用代码在Start中设置隐藏和显示,然而并没有作用,并卵的节奏。
怎么办?
原理还是一样,就是需要重新给设置一下。可以使用
Graphic.SetAllDirty
但是若还不起作用。我们用时候就是这样居然还不好用。
原因是在开始的时候我们有个切换UI,把这个东西给切换隐藏了一下,然后代码并没有执行。
解决方法也简单:
就是使用协同,等待零点几秒,来做个延迟。
IEnumerator Start(){yield return new WaitForSeconds(0.05f);ChangeGunMessage();}
然后去SetDirty(),就这样。
个人觉得可能是Unity的bug,或是使用方法的问题。
四、最后
希望大家还是要支持正版,付费去下载。
毕竟还是别人辛勤劳动的结果啊!!!
分享的地址也有,我私下里告诉你!!
谢谢各位!!!
———————–THE—–END———————————–
若有问题,请随时联系!!!
非常感谢!!!
Untiy CurvedUI 的使用的bug修正相关推荐
- (用微信扫的静态链接二维码)微信native支付模式官方提供的demo文件中的几个bug修正...
原文:(用微信扫的静态链接二维码)微信native支付模式官方提供的demo文件中的几个bug修正 native支付模式一demo(用微信扫的静态链接二维码)BUG修复,一共4个BUG 1.nativ ...
- CodeDom Assistant CodeDom的强大工具, 有些BUG修正了下,发到CodePlex,大家有需要的可以看看...
一.第一次编译并调整代码 二.修正泛型无法生成CodeDOM代码 后期我会用到这个工具, 如果有需要修改, 会及时修改和改进, 有兴趣的可以参与进来. http://codedomassistant. ...
- 77 ~And, two stars meet again~ RC汉化补丁[BUG修正]
[遊戲名稱/Name]:77 -And, two stars meet again- [遊戲廠商/Company]:Whirlpoor [發售日期/Sale date]:2009/07/31 Whir ...
- UNITY 5.4.0发行说明中文版(不包含bug修正部分)
原文地址:https://unity3d.com/cn/unity/whats-new/unity-5.4.0 Unity5.4.0F3 发行说明中文版(不包含bug修正部分) 因为工作需要自己临时翻 ...
- C++ Primer第18章Vector的再实现及bug修正
C++Primer第18.1.2节在介绍allocator类的时候,给了一个仿照标准库中vector的例子.感觉示例代码非常好,但是本人发现了一个bug,与大家共享. 按照作者的示例程序,编译程序时总 ...
- gradle下bug修正后问题仍存在解决思路
目录 我的学习过程 我的学习心路 热加载配置 bug问题总结 我的学习过程 前天写的client-server聊天项目写完后,今天进行了调试.我用到的是out目录下的server.class文件和cl ...
- [算法 笔记]2014年去哪儿网 开发笔试(续)第一题BUG修正
上一篇的blog地址为:http://www.cnblogs.com/life91/p/3313868.html 这几天又参加了一个家公司的笔试题,在最后的编程题中竟然出现了去哪儿网开发的第一题,也就 ...
- DX10 Shadow Volumn Sample Code的Bug修正
在DX10 Shadow Volumn Sample中的DetectAndProcessSilhouette这个函数意思是说边缘检测,但实际啥都没做,只是沿伸了顶点生成shadow vloumn.为了 ...
- 《审查指南》最新修改:无限分案bug修正、限缩公知常识的使用
知识产权局于日前(2019年9月24日) 发布了<专利审查指南>的修改公告[注1],自2019年11月1日起施行公告之修改内容.这次众多修改中特别引起笔者关注的是,本次修正了单一性无限分案 ...
最新文章
- 真正的AI内行盛会!3 天 3 位大神,29场专题论坛,200+位领域专家
- Unity The Type Matching Rule
- Android studio 另一个程序正在使用此文件,进程无法访问
- .so文件反编译_o泡果奶软件在哪下载 o泡果奶一份礼物魔性文件下载
- 权重初始化方式对神经网络迭代次数的影响
- Android中数据库的一些操作(增删改查)
- 信息学奥赛一本通 2035:【例5.2】平移数据
- 数据特征处理pca降维-小结
- 报童问题详细推导及利用Python的SAA方法求解
- 计算机图形学设计线宽代码,计算机图形学画圆并改变线宽.pdf
- 关于密钥和密钥管理的常见问题及解答
- 基于历史使用数据的虚拟机动态整合研究( 文献阅读与问题理解)
- 华为新机预装鸿蒙,华为新机来了!预装鸿蒙OS,搭载麒麟9000
- 关于配置tft液晶屏时,屏幕不显示遇到的问题
- Tiled源码分析: 序
- GBU406-ASEMI整流扁桥GBU406
- Git版本控制管理——补丁
- 【経験談】VS2013创建数据库连接失败问题
- python可以做哪些小工具_python的简单实用小工具
- qlearningα越大或越小_高频电子线路习题及答案