ActionScript Извлечение ширины / высоты загрузочного изображения - PullRequest
0 голосов
/ 08 июня 2010

Я пытаюсь получить доступ к ширине и высоте изображения, которое добавляется на сцену через пользовательский класс LoadImage. результаты трассировки равны 0, хотя изображение отображается правильно. в чем проблема?

//frame script

var image:LoadImage = new LoadImage("myImage.jpeg");
addChild(image);
trace(image.width);  //returns 0

//-------------------------

package
{
import flash.display.Sprite;
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event;

public class LoadImage extends Sprite
    {
    public function LoadImage(imageURL:String)
        {
        //Load Image
        var imageLoader:Loader = new Loader();
        imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, imageHandler);
        imageLoader.load(new URLRequest(imageURL));
        }

    private function imageHandler(evt:Event):void
        {
        addChild(evt.target.content);
        }
    }
}

Ответы [ 2 ]

1 голос
/ 08 июня 2010

Если вы пытаетесь получить к нему доступ сразу после его создания, у вас нет доступа к его свойствам.Вам нужно будет сделать это управляемым событием:

 class LoadImage loads image
 frame script listens for a complete event from LoadImage 
 LoadImage loads the image, once it has it's hands on it it dispatches the event
 frame script works with the data 

вам нужно создать событие в LoadImage и, как только это будет сделано в imageHandler, отправить это.Когда вы создаете новый LoadImage, настройте прослушиватель

var image:LoadImage = new LoadImage("myImage.jpeg");
image.addEventListener("complete", loadedImage); //or whatever you call the event

function loadedImage(evt:Event) {
   addChild( evt.target );
   trace(evt.target.content.width);  //returns 0
}
0 голосов
/ 08 июня 2010

вы пытаетесь получить ширину и высоту до полной загрузки изображения?см. этот вопрос для более подробной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...