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

#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)