Здравствуйте.
Начинаю знакомство с ActionScript 3. Пробовал изучать читая Мука, но что-то идёт просто ужасно. Сейчас решил учиться решая задачки. Допустим самое элементарное. Щёлчок по кнопке.
Допустим есть кнопка при нажатии по которой я хочу выводить в Output сообщение "123".
Класс мувика задан такой: net.azag.as3.Main
Содержимое:
Код AS3:
package net.azag.as3
{
import fl.events.ComponentEvent;
import flash.display.MovieClip;
import flash.events.Event;
/**
* ...
* @author Azag-Thoth
*/
public class Main extends MovieClip
{
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
gotoAndStop(3);//Переход на кадр логина пользователя
trace(newuser_btn);//Кнопка на треьем кадре ролика, трейсится как [object SimpleButton]
newuser_btn.addEventListener(ComponentEvent.BUTTON_DOWN, buttonDownHandler);
}
private function buttonDownHandler(event:ComponentEvent):void {
trace(123);
}
}
}
Наверное если описать действия кнопки в отдельном классе и связать его с кнопкой, то всё будет работать. Но если я имею на рабочем поле несколько кнопок. И хотел бы описать их работу в "классе контейнере", если можно так выразиться. То этого делать нельзя? Полагаю что здесь какая-то совершенно глупая ошибка и делается всё это очень просто.
Простите за нубство.
Добавлено через 17 минут
К сожалению даже в качестве отдельного класса для кнопки newuser_btn событие клика не работает.
Код AS3:
package net.azag.as3 {
import flash.display.SimpleButton;
import fl.events.ComponentEvent;
public class newuser extends SimpleButton {
public function newuser() {
this.addEventListener(ComponentEvent.BUTTON_DOWN, buttonDownHandler);
}
private function buttonDownHandler(event:ComponentEvent):void {
trace(123);
}
}
}