Цитата:
Сообщение от alatar
Если мне память не изменяет, можно создать публичные переменные с тем же именем, что и instance name. При создании экземпляра класса эти переменные будут инициализированы.
|
Именно.
Достаточно присвоить класс одному "клипу-контейнеру", а к детям обращаться по инстансам.

Код AS3:
package {
import flash.display.MovieClip;
import flash.text.TextField;
import flash.display.SimpleButton;
import flash.events.MouseEvent;
public class MyClass extends MovieClip{
public var my_mc:MovieClip;
public var my_btn:SimpleButton;
public var my_txt:TextField;
public function MyClass() {
my_mc.addEventListener(MouseEvent.CLICK, myMCHandler);
}
private function myMCHandler(e:MouseEvent):void {
trace("меня нажали");
}
}
}

Код AS3:
package {
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.events.Event;
public class Main extends Sprite {
private var _myClass:MyClass;
public function Main():void {
if (stage) {
this.init();
} else {
addEventListener(Event.ADDED_TO_STAGE, init);
}
}
private function init(event:Event = null):void {
removeEventListener(Event.ADDED_TO_STAGE, init);
_myClass = new MyClass();
addChild(_myClass);
_myClass.my_btn.addEventListener(MouseEvent.CLICK, myButtonHandler);
}
private function myButtonHandler(e:MouseEvent):void {
trace("и меня нажали");
}
}
}