我有一个在时间线上手动缩放的影片剪辑。as3获取调整大小的动画片段的宽度
我现在正在尝试使用动作脚本来获取WIDTH和HEIGHT,这样我就可以将另一个影片剪辑加载到它中并使其尺寸相同。
但是,当我做下面的代码我不能正确定位它,因为规模是宽度和高度显示原始大小,并没有显示比例大小坐标。所以当我把新的剪辑放在它里面的时候,我不能使它与重新缩放的剪辑的宽度和高度相同;
ScaledMC.addChild(myMC);
myMC.x = - ScaledMC.width /2; //Because the MC registration is in the center
一个解决可能是一些代码来检测夹和它们的位置在舞台上的界限的x和y位置。
谢谢你的时间。
更新:12年4月25日
我张贴的什么我试图做的,包括FLA全部代码。当你点击女孩我需要她加载到另一个电影剪辑。然而,影片剪辑缩放后,她的位置突然改变。我需要它看起来像她没有移动,并保持在同一个地方。
import flash.geom.Rectangle;
var Girlx = Girl.x;
var Girly = Girl.y;
var b:Rectangle;
b = Room.ChalkBoard.getBounds(this);
trace(b);
Room.ChalkBoard.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag);
function fl_ClickToDrag(event:MouseEvent):void
{
Room.ChalkBoard.startDrag();
}
stage.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);
function fl_ReleaseToDrop(event:MouseEvent):void
{
Room.ChalkBoard.stopDrag();
b = Room.ChalkBoard.getBounds(this);
}
Girl.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler);
function fl_MouseClickHandler(event:MouseEvent):void
{
//Room.ChalkBoard.scaleX = 1;
// Room.ChalkBoard.scaleY = 1;
Room.ChalkBoard.addChild(Girl);
// I NEED TO KNOW HOW TO SCALE GIRL BACK TO SAME SIZE
// EXAMPLE:
Girl.scaleY = 1 + Room.ChalkBoard.scaleY;
Girl.scaleX = 1 + Room.ChalkBoard.scaleX;
Girl.x = Girlx - b.x; /// This formula works if Room is at scaleX is 1;
Girl.y = Girly - b.y; /// This formula works if Room is at scaleY is 1;
}
这里是FLA:http://www.EdVizenor.com/Girl.fla
我会尝试。非常感谢。我还用手在时间轴上缩放了它。这是我的第一句话。也许我正在使用错误的术语。 – 2012-04-21 01:51:44
哦,好的。我不确定你的意思,但我现在明白了。所以是的,你正在改变其规模属性(有scaleX和scaleY)。我编辑了我的答案,以删除部分问你如何缩放。 – 2012-04-21 01:54:38