Поскольку в вашем вопросе нет примеров кодов, я постараюсь дать общий ответ.
. В ActionScript 3 .as файлы (должны) соответствовать классам, и вы должны действительно думать об этом с точки зренияООП.Не прибегая к сценариям во фреймах, вам следует сконцентрировать file2.as в классе или метод внутри класса.Затем вы можете создать экземпляр объекта этого класса (выполняя вашу логику в конструкторе), когда кнопка нажата.Или просто создайте его экземпляр заранее и вызовите его метод, когда вы хотите, чтобы он был выполнен.
Кроме того, кажется, что то, что вы пытаетесь сделать, действительно выиграет от концепции событий и слушателей в AS3.
Редактировать: модифицированный пример кода:
A.as:
class A {
public var myButton:Sprite;
protected var myPong:B;
public function A() {
myButton.addEventListener(MouseEvent.CLICK, onClick)
}
protected function onClick(e:MouseEvent):void {
myPong = new B();
addChild(myPong);
myPong.addEventListener("pong_closed", onPongClosed);
myPong.startGame();
}
protected function onPongClosed(e:Event):void {
myPong.removeEventListener("pong_closed", onPongClosed);
removeChild(myPong);
myPong = null;
}
}
B.as:
class B {
public function B() {
// Game initialization code.
}
public function startGame():void {
trace("ping ... pong ... ping ... pong ... ping");
}
public function close():void {
trace("Closing Pong");
// Your destruction code goes here.
// ...
dispatchEvent(new Event("pong_closed"));
}
}