加载swf文件在舞台中央?

Load swf file to be in the center in stage?

import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
import flash.net.URLRequest;
import flash.display.Loader;
import flash.events.Event;
import flash.events.ProgressEvent;

var url_request:URLRequest = new URLRequest('01.swf');
var swf_loader:Loader = new Loader();
    swf_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, on_Loaded);    
    swf_loader.load(url_request);
function on_Loaded(e:Event): void {
    swf_loader.width = 50;
    swf_loader.height = 50;
    addChild(swf_loader);}

当我尝试 swf_loader.align = Stage.align.CENTER, 这是行不通的。我的代码可能有什么问题?

swfloader.y = (stage.StageHeight) / 2;
swfloader. x = (stage.StageWidth) / 2;

那是舞台中央。

编辑:不,不是。 这是正确的;

swfloader.y = (stage.StageHeight / 2) - (swfloader.height / 2);
swfloader. x = (stage.StageWidth / 2) - (swfloader.width / 2);

您必须处理相对于要将其添加到的舞台的定位:

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

您需要在加载 swf 后执行此操作,因此在 on_Loaded 函数中,像这样

function on_Loaded(e:Event): void {
    swf_loader.width = 50;
    swf_loader.height = 50;
    swf_loader.x = (stage.stageWidth - swf_loader.width) / 2;
    swf_loader.y = (stage.stageHeight - swf_loader.height) / 2;
    addChild(swf_loader);
}