我正在尝试根据从函数启动发送给我的变量创建一个类的实例。
此类不是 displayObject,也不在 Flash 库中。这似乎意味着以下内容不起作用:
private function BasicControl(_stage:int):void {
var s1:tut_stage = getDefinitionByName("stage"+_stage) as tut_stage;
trace(s1);
s1.Begin();
}
这导致:
ReferenceError: Error #1065: Variable stage1 is not defined.
at global/flash.utils::getDefinitionByName()
at kazo::Main/BasicControl()[B:\Users\Kevin SSD\client\temp_tutorial\preview_src\kazo\Main.as:76]
at kazo::Main/SWFLoadComplete()[B:\Users\Kevin SSD\client\temp_tutorial\preview_src\kazo\Main.as:113]
但是,如果它写成:
var s1:tut_stage = new stage1;
这将正常工作。
如果类不在库中,如何动态调用它?看来我所有的努力都没有结果。我可以让它工作的唯一方法是使用一个可怕的解决方法:
private function BasicControl(_stage:int):void {
var s1:tut_stage;
switch(_stage) {
case 1:
s1 = new stage1;
break;
case 2:
s2 = new stage2;
break;
}
}
我必须在这里遗漏一些东西 - 在这种情况下我应该如何调用 stage1?