日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DoTween NGUI bug

發(fā)布時間:2025/3/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DoTween NGUI bug 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.


文章目錄[點擊展開](?)[+]

  • 多次動畫導致UISprite丟失
  • UISprite動畫代碼
  • 沖突表現(xiàn)
  • UISPrite解決辦法
  • 多次動畫導致UILabel丟失
  • 多次動畫導致UIPanelSoft Clip內容丟失
  • UIPanel解決方法

  • 多次動畫導致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)內容丟失

    當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 本文轉自趙青青博客園博客,原文鏈接:http://www.cnblogs.com/zhaoqingqing/p/4047535.html,如需轉載請自行聯(lián)系原作者

    總結

    以上是生活随笔為你收集整理的DoTween NGUI bug的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。