我需要使用Tween类AS3从它的中心点缩放动态文本框。
基本上,我需要在300毫秒左右缩小到50%......完成后我想再次放大到100%并停止动画。
我尝试将中心点设置为文本框的中心,但它始终从左侧缩放。
我一直在努力学习Tween类的基础知识,我相信它缺少一些好的属性和方法,比如greensock!
谢谢。
title_txt.text = "Text";
var textScaleX:Tween;
var textScaleY:Tween;
title_txt.addEventListener(MouseEvent.MOUSE_OVER, scaleObj(1,2, 1));
function scaleObj(startUp:int, endUp:int, duration:int){
textScaleX = new Tween(title_txt, "scaleX", Strong.easeInOut, startUp, endUp, duration, true);
textScaleY = new Tween(title_txt, "scaleY", Strong.easeInOut, startUp, endUp, duration, true);
}
答案 0 :(得分:1)
文本域的oringin将位于左上角。但是,您可以计算左上角在比例为50%的位置以及x和y位置的补间以及scaleX和scaleY值。
快速计算50%x和y就像是:
50%x = 100%x位置+(100%文本字段宽度)/ 4
50%y = 100%y位置+(100%文本字段高度)/ 4
编辑:以下是代码中的计算结果:
var targetScale:Number = .5; //scale 50% but any other scale would work here as well
var targetX:Number = title_txt.x + (title_txt.width - title_txt.width * targetScale) / 2;
var targetY:Number = title_txt.y + (title_txt.height - title_txt.height * targetScale) / 2;
我使用自己的补间类,所以我不确定如何使用Adobe补间类或TweenLite类来实现它,但是如果你将这些数字粘贴到任何补间类中的文本字段(或任何包含它的对象)这个问题的左上角)将围绕中心点进行缩放。
答案 1 :(得分:0)
补间的第1号提示:
使用TweenLite:它更易于使用,并具有更多功能。
我意识到这不是你问题的真正答案,但其他人已经涵盖了这一点。