2010-04-23 87 views
0

如何将动态影片剪辑位置与另一个位于根级的影片剪辑对齐? 我试图在root x,y位置获取mc,但加载动态MC的类的起点似乎并不准确。 (意思是在根阶段,x,y是0,0,但是在动态类中,其浏览器区域的地方类似于100,20(并且它实际上基于浏览器大小而变化))将根目录/舞台对齐Movieclip Movieclip

**我用它来运行以下自定义类的其他类,我已将它添加到阶段

var blocker:stageBlocker=new stageBlocker(); 
     this.stage.addChild(blocker); 

下面是动态MC。我不应该把它添加到自己的“舞台”吗?

public class stageBlocker extends MovieClip { 

    private var blocker:MovieClip= new MovieClip(); 

    public function stageBlocker():void { 
     addEventListener(Event.ADDED_TO_STAGE, add2Stage); 
    } 
    private function add2Stage(event:Event):void { 
     createBlocker(); 
    } 

    private function createBlocker():void { 
     blocker.graphics.beginFill(0x000000,0.9); 
     blocker.graphics.drawRect(0,0,stage.stageWidth,stage.stageHeight); 
     blocker.graphics.endFill(); 
     addChild(blocker); 
     blocker.x=main.vC.x 
    } 

    public function removeBlocker():void { 
     blocker.graphics.clear(); 
     removeChild(blocker); 
     removeEventListener(Event.ADDED_TO_STAGE, add2Stage); 
    } 
} 

回答

0

尝试设置舞台aligment到左上:

stage.scaleMode = StageScaleMode.NO_SCALE; 
stage.align = StageAlign.TOP_LEFT; 
+0

我已经试过了,但是当阻塞被调用时,整个舞台/屏幕上的位置会发生变化。这就是为什么我想要看看是否有任何让它在根部/舞台上运行的立场。我现在尝试localToGlobal,但仍不明白如何使用它。 – Hwang 2010-04-23 18:05:42

+0

还是有办法将stage.align更改回中心后我删除它。 AS3似乎没有对齐到中心代码了:( – Hwang 2010-04-23 18:37:14

+0

也许如果你把它设置为null将居中,但我认为你设计得很糟糕,如果你需要的话,我不明白你想要的东西太多做,但我做每一个应用程序对齐top_left,我从来没有遇到过问题。 – 2010-04-24 14:50:08