美文网首页
【Unity DOTween】DOTween的部分代码无法在as

【Unity DOTween】DOTween的部分代码无法在as

作者: 真诚的狗子 | 来源:发表于2023-10-24 11:57 被阅读0次

     CanvasGroup canvasGroup = card.GetComponent<CanvasGroup>();

     Tween t = canvasGroup.DOFade(0.2f, 0.4f);

    以上代码,如果包含在asmdef中会报错,说canvasGroup上不存在DOFade方法,但是如果不是在asmdef中就不会报错。

    环境是Unity2021.3

    试过了在DOTween面板上创建asmdef并引用,删除.vs缓存目录,重启Unity,都不管用。

    原因猜测是DOTween的核心功能都包含在dll中而不是代码中,而asmdef是基于所在文件夹下的代码实现的,但DOTween的那些文件不知道为什么即使创建了asmdef也无法识别,就出现了这个问题。

    目前临时的解决方案是直接复制DOTween module文件夹下的各个module文件中的代码直接用,比如我想用DOFade,就直接去DOTweenModuleUI文件中,复制与CanvasGroup相关的那个DOFade方法:

    红框内的代码复制出去

    注意,不要把整个DOFade方法复制过去,会提示扩展方法只能在特定环境下创建,这里只复制红框里的代码过去就好,现在不报错了,可以编译通过。

    相关文章

      网友评论

          本文标题:【Unity DOTween】DOTween的部分代码无法在as

          本文链接:https://www.haomeiwen.com/subject/fglsidtx.html