我有一個在時間線上手動縮放的影片剪輯。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