2014-07-07 58 views
0

我想知道如何定位嵌入调整大小的movieClip(my_mcA)中的movieClip(my_mcB);as3 movieclip在调整大小的movieclip中的位置

my_mcA本来是1080宽。

my_mcA设置根据舞台宽度来调整大小和比例缩放与宽度则在加载的设备在这里是调整大小代码工作正常:我上的阶段即测试

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

500宽。 my_mcA重新调整。但是,如果我尝试重新my_mcB是内部my_mcA似乎如果我用这个代码以使用1080的旧值:

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

my_mcB应该是离开舞台,但它显示了在半路上屏幕中间。

在我的项目中,我将使用屏幕刷卡和许多补间,所以我需要获得公式将对象放置在屏幕上的正确位置以及补间等运动的长度。我可以在调整大小的movieClip中正确定位嵌套的movieClip吗?

回答

1

尝试

my_mcA.my_mcB.x = 1080; 

如果缩放外容器(my_mcA)以适应屏幕,它应该不会影响my_mcB的内坐标系。 500宽度将大致在1080的中间,听起来就像你看到的那样。

编辑:你问如何获得内部显示对象的原始宽度。您可以通过访问内部动画片段的宽度属性来获取它。这里的内显示对象宽度上通过使用缩放或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 :如果要实际显示宽度,需要与外部显示对象的x缩放(将scaleX)乘以内显示对象的width属性:

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

这只是一个简单的例子。使用多个嵌套影片剪辑,您需要应用整个嵌套链的缩放因子。

+0

这没有工作谢谢。我想知道是否有代码来找到这个var tho。像代码一样寻找原始大小?奇怪的是B受到了A的影响。 –