如何在Flash / AS3的阶段中更改xml文件的大小?

时间:2014-12-12 16:26:14

标签: xml actionscript-3 flash

我知道你可以使用.width或。高度属性,但这似乎很草率。我需要改变这个:

function packetF(): void {
        Time.removeEventListener(TimerEvent.TIMER, checkF);
        Image = Data.image[imageNum].imgURL;
        Childnumber = Data.*.length();

        imgW = Data.image[imageNum].imgW;
        imgH = Data.image[imageNum].imhH;

        imageLoad = new Loader;
        imageLoad.load(new URLRequest(Image));
        imagebox.addChild(imageLoad);
        imageLoad.x=(imagebox.width - Number(imgW))/2;
        imageLoad.y=(imagebox.height - Number(imgH))/2;
    }

我还没有特定的身高/宽度。我只需要知道如何做到这一点

1 个答案:

答案 0 :(得分:0)

加载文件(本例中的图像)是一个异步过程。在图像加载之前,您无法更改宽度和高度:

import flash.events.Event;

function packetF(): void 
{
    Time.removeEventListener(TimerEvent.TIMER, checkF);
    Image = Data.image[imageNum].imgURL;
    Childnumber = Data.*.length();

    imgW = Data.image[imageNum].imgW;
    imgH = Data.image[imageNum].imhH;

    imageLoad = new Loader();
    // listen for Event.COMPLETE on the loader:
    imageLoad.contentLoaderInfo.addEventListener(Event.COMPLETE, onImageLoaded);
    imageLoad.load(new URLRequest(Image));
    imagebox.addChild(imageLoad);
    imageLoad.x=(imagebox.width - Number(imgW))/2;
    imageLoad.y=(imagebox.height - Number(imgH))/2;
}

function onImageLoaded(e:Event):void 
{
    imageLoad.width = imgW;
    imageLoad.height = imgH;
}