DoTween NGUI bug
多次动画导致UISprite丢失
DOTween动画进行时与UISprite有冲突,DOTween多次重复同一个动画时,UISprite会莫名的丢失
UISprite动画代码
CUIManager.Instance.OpenWindow(newCmd.UIName, newCmd.Args);
CUIManager.Instance.CallUI(newCmd.UIName, (ui, _args) =>
{
CUIMask.Show(CUIMaskType.TransparentMask); // 确保遮罩
ui.transform.DOKill();
ui.transform.DOLocalMoveFrom(ui.transform.localPosition + new Vector3(MOVE_ANIM_OFFSET, ), UI_ANIM_TIME)
//.SetEase(DG.Tweening.Ease.OutBack)
.onComplete = CUIMask.Hide; });
冲突表现
DOTween的动画进行时,UISprite会莫名地不见了

UISPrite解决办法
CUIManager.Instance.OpenWindow(newCmd.UIName, newCmd.Args);//打开窗口
CUIManager.Instance.CallUI(newCmd.UIName, (ui, _args) =>
{
ui.transform.DOKill();
var lastPos = ui.transform.localPosition;
ui.transform.localPosition = ui.transform.localPosition + new Vector3(MOVE_ANIM_OFFSET, );
var tweener = ui.transform.DOLocalMove(lastPos, UI_ANIM_TIME); tweener.OnComplete(CUIMask.Hide); // Fix: DOTween 与UISprite有一个冲突,DOTween进行时UISprite会莫名的丢失...强制DOTween进行中刷新uisprite
tweener.OnUpdate(() =>
{
foreach (UISprite sprite in ui.GetComponentsInChildren<UISprite>())
{
sprite.MarkAsChanged(); }
}); });
在tweener的update函数中,让UISprite 执行rebuilt
多次动画导致UILabel丢失
DOTween 与UILabel也有同样的冲突,解决方法,同上面一样。
多次动画导致UIPanel(Soft Clip)内容丢失
当dotween的动画和Clipping为soft clip的UIPanel一起时,也有上述的bug

UIPanel解决方法
启用再禁用panel
//dotween 和soft clip panel 有bug
public static void FixDotween_PanelsWrong (UIPanel[] panels)
{
foreach (var panel in panels)
{
if (panel.clipping == UIDrawCall.Clipping.SoftClip)
{
panel.enabled = false;
panel.enabled = true;
}
}
} //使用
ui.Contain.DOLocalMove(endPos, UIAnimationTime)
.SetEase(ShowEaseFunc)
.OnComplete(() => FixDotween_PanelsWrong(panels));//fix bug
DoTween NGUI bug的更多相关文章
- NGUI BUG /各种坑
以下为:NGUI3.6具体使用过程中碰到的 各种BUG /各种坑 备忘 1.UIToggle 使用UIToggle组件实现多个tab标签互斥,如果是在代码中动态的设置显示某个tab标签对应的内容,则需 ...
- Ngui使用随心记
Ngui的一些基础使用心得! BB:首先BB一下我觉得NGUI和UGUI哪个好?我首推UGUI,先不说是官方内置,在使用的方便性上也要好很多,而且NGUI停止更新了!还有就是NGUI有BUG! Ngu ...
- [U3D Demo] 手机飞机大战
游戏截图 使用插件 DOTween NGUI 游戏介绍 游戏使用C#开发,素材是<全民飞机大战>中提取出来的,该游戏最早是去年由Flash Air+Starling开发的Demo,后来我修 ...
- DOTween 模仿NGUI Tween
最近再做一个小的项目,只要使用的是DOTween 动画. 但是感到DOTween 在某些方面不如 NGUI的Twenn 比较好用 所以就模仿了一下 在此,请各位大神指点一下 public class ...
- NGUI中UILabel使用url标签的一个bug
在NGUI里,UILabel控件可以支持一些简单功能的标签,使文本显示更丰富及实现类似超链接的功能.但是在使用的时候发现了NGUI3.5.9版本里存在着一个bug.不过还好修复这个bug也很简单. 在 ...
- NGUI UIGrid 动态刷新布局 && BUG FIX
/// <summary> /// "1" => 对应的一个UISpirte,"1234" => 对应四个预设 /// </sum ...
- NGUI的一个bug记录
在当前帧内触发按钮事件,然后把click事件的list删去,再添加,这时候会再次触发. 不确定,先记一下
- 修改NGUI 3.11 的控件 inputfileld hide input 属性bug
1.勾选hideinput属性后,输入中文,会出现,无法显示的问题. 2.勾选hideinput属性后,密码框会出现第一个字母被吃掉的问题 解决方案:控件都不要勾选hideinput属性,代码做如下修 ...
- UIWrapContent(NGUI长列表优化利器)
NGUI长列表优化利器 优化原理 NGUI3.7.x以上版本 有个新组件 UIWrapContent ,当我们的列表内容很多时,可以进行优化.它不是一次生成全部的child,而是只有固定数量的chil ...
随机推荐
- [js开源组件开发]js多选日期控件
js多选日期控件 详情请见:http://www.lovewebgames.com/jsmodule/calendar.html 它的github地址:https://github.com/tianx ...
- mybatis hellworld
用maven来进行搭建项目的~~ 1. 搭建环境 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" x ...
- javascript获取url信息的常见方法
先以"http://www.cnblogs.com/wuxibolgs329/p/6188619.html#flag?test=12345"为例,然后获得它的各个组成部分. 1.获 ...
- YUIDoc example代码高亮错误、生成API文档目录不按源文件注释顺序
1.如果发现yuidoc命令用不了,那就重装nodejs吧 昨天不知道是清扫电脑的原因,yuidoc命令用不了(命令不存在),也没有找到好的解决方法,怒重装YUIDoc也不行.最后想了想,怒重装了no ...
- CSS3 实现简单轮播图
用css3动画实现图片切换效果,原理还是改变left值.只有最简单的自动播放功能,切换后短时间静止,通过最后的位置克隆第一张图片,实现无缝切换. html结构 <div id="con ...
- ASP.NET MVC 微信公共平台开发之验证消息的真实性
ASP.NET MVC 微信公共平台开发 验证消息的真实性 在MVC Controller所在项目中添加过滤器,在过滤器中重写 public override void OnActionExecuti ...
- iOS-多线程之NSOperation
前言 这篇文章主要讲NSOperation的使用. What 使用NSOperation和NSOperationQueue进行多线程开发类似于线程池,只要将一个NSOperation(实际开发中需要使 ...
- vs(vistual studio)项目文件名字重复问题
今天遇到一情况,比较神奇,vs项目,我更新SVN的时候,发现竟然出现文件名字重复的现象. [caption id="" align="alignnone" wi ...
- android EditView ime
1.android:imeOptions 可以用来配置输入法右下角的: 这可以在xml中添加相应的属性android:imeOptions actionGo 输入法右下角显示“去往” actionS ...
- 怎样查看linux版本
玩一台新的linux服务器,首先要做的,就是先看下是什么版本的系统: 命令如下: 登录到linux执行cat /etc/redhat-release ,例如如下: [root@3.5.5Biz-46 ...