【报Bug】cc.tween 执行 scale 缩放后,Node的width、height 变大了10倍

  • Creator 版本:2.3.2

  • 目标平台: Web / iOS / Android

  • 详细报错信息,包含调用堆栈:Node的width、height 变大了10倍

  • 重现方式:执行以下缓动代码

             ui_node.scale = 0.1; // 因为tween前设置了缩放
             ui_node.opacity = 0;

             cc.tween(ui_node)
                .to(0.2, {scale: 1.02, opacity:255}) 
                .to(0.05, {scale: 0.98}) 
                .to(0.05, {scale: 1}) 
                .call(()=>{
                    cc.log(ui_node.width, ui_node.height); // 这里打印宽高变大了10倍
                })
                .start()
  • 编辑器操作系统 macOS 10.14.6

【楼主自结贴】

应该是动画系统的Bug,目前的绕过这个问题解决方法如下,只能tween前不改scale

                 ui_node.opacity = 0; // 预先隐藏,避免闪一下
                
                 cc.tween(ui_node)
                .to(0, {scale: 0.1, opacity:0}) 
                .to(0.2, {scale: 1.02, opacity:255}) 
                .to(0.05, {scale: 0.98}) 
                .to(0.05, {scale: 1}) 
                .call(()=>{
                    cc.log(ui_node.width, ui_node.height);
                })
                .start()

这个问题3.x的也有,不知道官方为啥没解决