我的 Main 类已添加到我的 .fla 阶段,我想在它完成动画时删除并重新添加/“重新启动”该类。我所有的动画都发生在 Main 中,并被添加到 Main 中的显示树中。如何finishNow()
从 Main.as 中运行该函数?
.fla 文件:
var run:Main = new Main(this);
stage.addChild(run);
function finishNow() {
stage.removeChild(run);
var run:Main = new Main(this);
stage.addChild(run);
}
Main.as 文件:
var stageHolder:Object;
public function Main(stageHolderTemp) {
stageHolder = stageHolderTemp;
trace(stageHolder);
}
function callFinishFunction():void {
// how to call finishNow() function from .fla file here
}
编辑:程序的设计已经改变。仍在尝试做同样的事情(调用 finishNow() 函数——但它现在在 Program.as 中)。一切正常,除了引发错误program.finishNow();
:
TypeError:错误#1009:无法访问空对象引用的属性或方法。
.fla 文件:
它现在不包含任何代码。它链接到 Program.as。
Program.as 文件:
package {
import flash.display.MovieClip;
public class Program extends MovieClip {
public function Program() {
startNow();
}
function startNow() {
var run:Main = new Main(this);
addChild(run);
}
function finishNow() {
removeChild(run);
var run:Main = new Main(this);
addChild(run);
}
}
}
Main.as 文件:
package {
import flash.display.Sprite;
public class Main extends Sprite
{
var stageHolder:Object;
public var program:Program;
public function Main(stageHolderTemp) {
stageHolder = stageHolderTemp;
trace(stageHolder);
someFunctionsThatDrawGraphics();
}
function callFinishFunction():void {
// how to call finishNow() function from Program.as file here?
program.finishNow();
}
}
}