【发布时间】:2011-12-20 11:49:11
【问题描述】:
我正在使用 Flash (AS3) 并且有一个动态影片剪辑,我想使用滑动条放大或缩小它。使用 scaleX 和 scaleY 函数,我可以很好地做到这一点。
唯一的问题是这些从文档的左侧缩放,我希望它从中心缩放
感谢任何帮助。
【问题讨论】:
标签: flash actionscript-3 scaling
我正在使用 Flash (AS3) 并且有一个动态影片剪辑,我想使用滑动条放大或缩小它。使用 scaleX 和 scaleY 函数,我可以很好地做到这一点。
唯一的问题是这些从文档的左侧缩放,我希望它从中心缩放
感谢任何帮助。
【问题讨论】:
标签: flash actionscript-3 scaling
function scaleFromCenter(dis:*, sX:Number, sY:Number):void
{
var prevW:Number = dis.width;
var prevH:Number = dis.height;
dis.scaleX = sX;
dis.scaleY = sY;
dis.x += (prevW - dis.width) / 2;
dis.y += (prevH - dis.height) / 2;
}
scaleFromCenter(yourMovieClip, 0.3, 0.3);
..
或者看看 Greensocks TweenMax/AutoFitArea
http://www.greensock.com/autofitarea/
非常强大且易于使用。
【讨论】:
为了从对象的中心缩放/旋转,您需要执行以下操作
这是一段代码。
private function scaleInPosition(dis:Sprite,sX:Number,sY:Number):void
{
var posX:Number = dis.x;
var posY:Number = dis.y;
dis.x =dis.y = 0;
dis.scaleX = sX;
dis.scaleY = sY;
dis.x = posX;
dis.y = posY;
}
【讨论】:
只需创建要缩放的对象,中心的 0,0 注册十字准线即可。
【讨论】: