这似乎是一件非常容易的事,但它给了我各种令人头疼的问题。我有一个画廊的动画片段,它被链接到单击按钮时从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
这些都不会将图像放在正确的位置。
答案 0 :(得分:4)
设置这个属性以使你的舞台在左上角有它的原点(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;
答案 1 :(得分:0)
MovieClip(root).addChild(myFull);
不要忘记对removeChild