#flash #actionscript-3 #loader
#flash #actionscript-3 #погрузчик
Вопрос:
Как бы я превратил изображение, загружаемое с помощью класса загрузчика AS3, в кнопку с обработчиком событий на нем? Ниже то, что я начал. А ниже приведена моя ошибка, которую я получаю, когда нажимаю на сообщение.
КАК:
//call function that starts loading my image
callButtons();
function callButtons():void {
var spanish_url = root_path "spanish.png";
var spanish_loader = new Loader();
spanish_loader.load (new URLRequest(spanish_url));
//on load complete call the spanishLoaded function
spanish_loader.contentLoaderInfo.addEventListener (Event.COMPLETE, spanishLoaded);
}
//add loaded image to my main_container set x,y and turn it into a button.
function spanishLoaded (e:Event):void {
var my_spanish:Loader = Loader(e.target.loader);
my_spanish.x = 1062;
my_spanish.y = 620;
main_container.addChild(my_spanish);
my_spanish.addEventListener (MouseEvent.CLICK, playSpanish);
}
function playSpanish (){
trace("IN SPANISH");
}
ошибка, которую я получаю, когда я нажимаю на spanish.png на сцене: ArgumentError: Error #1063: Argument count mismatch on MyVideoPlayer_CS4_fla::MainTimeline/playSpanish(). Expected 0, got 1.
МНЕ НУЖНО БЫЛО ДОБАВИТЬ evt:MouseEvent
Ответ №1:
В вашей функции spanishLoaded
вы добавляете прослушиватель событий:
my_spanish.addEventListener (MouseEvent.CLICK, playSpanish);
playSpanish
функция будет ожидать событие мыши:
У вас есть:
function playSpanish ()
Это должно быть:
function playSpanish (event:MouseEvent)