【Unity DOTween】DOTween的部分代码无法在asmdef中运行

 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方法复制过去,会提示扩展方法只能在特定环境下创建,这里只复制红框里的代码过去就好,现在不报错了,可以编译通过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值