3

这似乎是一件非常容易的事情,但它让我很头疼。我有一个作为画廊的影片剪辑,当单击按钮时,它被链接为从 AS 调用。单击图库中的图像时,它会使用 Tween 类淡入淡出,并且应该在主舞台上居中,但它却以movieClip为中心。

这是代码:

//Centers and places image right ondo the display board
function fullLoaded(e:Event):void {
    var myFull:Loader = Loader(e.target.loader);
    addChild(myFull);

    //positioning
    myFull.x = (stage.stageWidth - myFull.width) / 2;
    myFull.y = (stage.stageHeight - myFull.height) /2;

    //register the remove function
    myFull.addEventListener(MouseEvent.CLICK, removeFull);

    new Tween(myFull, "alpha", Strong.easeInOut,0,1,0.5,true);
}

我尝试了所有这些组合都无济于事:

MovieClip(root).stage.stageWidth  
root.stage.stageWidth  
parent.stage.stageWidth

这些都没有将图像放在正确的位置。

4

2 回答 2

4

设置这些这个属性,让你的舞台在左上角有它的 origo (0x0):

stage.align = StageAlign.TOP_LEFT;

这使舞台保持与窗口更改大小相同的比例:

stage.scaleMode = StageScaleMode.NO_SCALE;

然后你需要等到你的图像被加载后再对齐它,因为在那之前它没有宽度。我还建议Event.RESIZE在舞台上收听,只要尺寸发生变化就会触发。

假设您当前的代码应该可以正常工作!

myFull.x = (stage.stageWidth - myFull.width) / 2;
myFull.y = (stage.stageHeight - myFull.height) /2;
于 2009-05-07T10:47:11.473 回答
0

MovieClip(root).addChild(myFull); 不要忘记做同样的事情removeChild

于 2010-01-13T08:52:26.707 回答