加载swf文件在舞台中心?

时间:2015-08-10 14:05:01

标签: actionscript-3 flash



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, 这是行不通的。我的代码有什么问题?

2 个答案:

答案 0 :(得分:1)

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

这是舞台的中心。

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

        Picasso.with(mContext).load(currentEventData.mImageSrc).into(new Target() {
            @Override
            public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
                 mParentLayout.setBackground(new BitmapDrawable(getResources(),bitmap);
            }

            @Override
            public void onBitmapFailed(Drawable errorDrawable) {

            }

            @Override
            public void onPrepareLoad(Drawable placeHolderDrawable) {

            }
        });

答案 1 :(得分:1)

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

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);
}