DoTween NGUI bug
生活随笔
收集整理的這篇文章主要介紹了
DoTween NGUI bug
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄[點擊展開](?)[+]
多次動畫導致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, 0), UI_ANIM_TIME)//.SetEase(DG.Tweening.Ease.OutBack).onComplete = CUIMask.Hide;});沖突表現(xiàn)
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, 0);var tweener = ui.transform.DOLocalMove(lastPos, UI_ANIM_TIME);tweener.OnComplete(CUIMask.Hide);// Fix: DOTween 與UISprite有一個沖突,DOTween進行時UISprite會莫名的丟失...強制DOTween進行中刷新uispritetweener.OnUpdate(() =>{foreach (UISprite sprite in ui.GetComponentsInChildren<UISprite>()){sprite.MarkAsChanged();}});});在tweener的update函數(shù)中,讓UISprite 執(zhí)行rebuilt
多次動畫導致UILabel丟失
DOTween 與UILabel也有同樣的沖突,解決方法,同上面一樣。
多次動畫導致UIPanel(Soft Clip)內(nèi)容丟失
當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 本文轉(zhuǎn)自趙青青博客園博客,原文鏈接:http://www.cnblogs.com/zhaoqingqing/p/4047535.html,如需轉(zhuǎn)載請自行聯(lián)系原作者總結(jié)
以上是生活随笔為你收集整理的DoTween NGUI bug的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【12】Python函数学习(中)
- 下一篇: Structual设计--Flyweig