多次动画导致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 ...
随机推荐
-
关于React的父子组件通信等等
//==================================================此处为父子组件通信 1.子组件调用父组件: 父组件将子组件需要调用方法存入props属性内,子组 ...
-
(转)LINUX测试环境部署Redis(四)
安装配置Redis 第一部分:安装redis 希望将redis安装到此目录 1 /usr/local/redis 希望将安装包下载到此目录 1 /usr/local/src 那么安装过程指令如下: ...
-
UIkit框架介绍
UIKit Framework The UIKit framework (UIKit.framework) provides crucial infrastructure for implementi ...
-
【NOI模拟赛(湖南)】DeepDarkFantasy
DeepDarkFantasy 从东京出发,不久便到一处驿站,写道:日暮里. ——鲁迅<藤野先生> 定义一个置换的平方为对1~n的序列做两次该置换得到的序列.已知一个置换的平方,并且这个 ...
-
hibernate框架中注意的几个问题
使用hibernate框架中,session.createSQLQuery创建sql语句的时候遇到的问题 1. select e.id,d.id from emp e,dept d where e. ...
-
2019年华南理工校赛(春季赛)--L--剪刀石头布(签到)
#include <iostream> using namespace std; int main(){ string a,b,c,d; a="Scissors"; b ...
-
使用GSON和泛型解析约定格式的JSON串(转)
时间紧张,先记一笔,后续优化与完善. 解决的问题: 使用GSON和泛型解析约定格式的JSON串. 背景介绍: 1.使用GSON来进行JSON串与java代码的互相转换. 2.JSON的格式如下三种: ...
-
UVa 11248 网络扩容(最大流(需要优化))
https://vjudge.net/problem/UVA-11248 题意: 给定一个有向网络,每条边均有一个容量.问是否存在一个从点1到点N,流量为C的流.如果不存在,是否可以恰好修改一条弧的容 ...
-
amcharts的一些用法
function chartdiv2() { var chart; var chartData = [ { "month" : "2015-08", " ...
-
linux系统引导流程
1.固件:硬件和软件结合.加电自检是我们按下电源会检测硬件像cpu.内存.网卡等信息.(从硬件层次检测硬件是否可用) 固件设置实例:设置时间 软件时间和硬件时间: [root@VM_0_12_cent ...