2014-12-12 3 views
1

Я знаю, что вы можете использовать .width или. свойства высоты, но это кажется таким неряшливым. Мне нужно изменить это:Как изменить размер xml-файла на этапе Flash/AS3?

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

и еще нет конкретной высоты/ширины. Мне просто нужно знать, как это сделать.

ответ

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; 
} 
+0

Спасибо. Область, которую я менял, была imagebox (MovieClip, где я загружаю изображение). Ваш совет ценится! – Jombi

+0

В этом случае вы должны изменить 'imageLoad.width' на' imageBox.width', и он должен работать. – Marcela

Смежные вопросы