簡體   English   中英

調整大小后的動畫片段中的as3動畫片段位置

[英]as3 movieclip position inside resized movieclip

我想知道如何放置重新調整大小的movieClip(my_mcA)內嵌套的movieClip(my_mcB);

my_mcA最初為1080寬。

將my_mcA設置為根據舞台寬度調整大小,並與加載的設備寬度成比例地調整。以下是調整大小代碼,可以很好地工作:

my_mcA.width = stage.stageWidth;
my_mcA.scaleY = my_mcA.scaleX;

我正在500寬的舞台上進行測試。 my_mcA重新調整精度。 但是,如果嘗試重新放置位於my_mcA內的my_mcB,則似乎使用了1080的舊值。如果使用此代碼,則:

my_myA.my_mcB.x = stage.stageWidth; // NEED HELP WITH THIS LINE

my_mcB應該離開了舞台,但在屏幕中間顯示了一半。

在我的項目中,我將使用屏幕滑動和許多補間,因此我需要獲取公式才能將對象在屏幕上的正確位置以及補間的移動長度等... 如何正確定位在調整大小的movieClip中嵌套了movieClip?

嘗試

my_mcA.my_mcB.x = 1080;

如果縮放外部容器(my_mcA)以適合屏幕,則它不應影響my_mcB的內部坐標系。 500寬度大約是1080的中間值,聽起來像您看到的那樣。

編輯:您問如何獲取內部顯示對象的原始寬度。 您可以通過訪問內部動畫片段的width屬性來獲取它。 這是內部顯示對象寬度如何通過使用scaleing或width屬性對外部顯示對象進行縮放的反應示例:

trace("unscaled my_mcA.my_mcB.width="+mcA.my_mcB.width);
my_mcA.scaleX=0.5;
my_mcA.scaleY=0.5;
trace("scaleX scaled my_mcA.my_mcB.width="+my_mcA.my_mcB.width);
my_mcA.width=250;
my_mcA.scaleY=my_mcA.scaleX;
trace("width scaled my_mcA.my_mcB.width="+my_mcA.my_mcB.width);

這應該是腳本的輸出:

unscaled my_mcA.my_mcB.width=550
scaleX scaled my_mcA.my_mcB.width=550
width scaled my_mcA.my_mcB.width=550

編輯2:如果要實際顯示的寬度,則需要將內部顯示對象的width屬性乘以外部顯示對象的x縮放比例(scaleX):

trace("display width="+(my_mcA.my_mbB.width*my_mcA.scaleX));

這只是一個簡單的例子。 對於多個嵌套的電影剪輯,您需要應用整個嵌套鏈的縮放因子。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM