2012-09-11 50 views
0

我是Flash中的新手。我想使用flashvars测试传递给swf文件的变量,然后我创建了一个名为"test_adver.as"的动作脚本文件。我在fla文件中使用这个文件作为类文档。这是"test_adver.as"代码:1180:调用可能未定义的方法loaderInfo操作脚本错误

package src{ 
import flash.display.Loader; 
import flash.display.LoaderInfo; 
import flash.display.MovieClip; 
import flash.events.Event; 
import flash.external.ExternalInterface; 
import flash.net.URLRequest; 
import flash.text.TextField; 

public class test_adver extends MovieClip { 
    public function test_adver() { 
     try { 
      var param:Object=loaderInfo(this.root.loaderInfo).parameters; 
     } catch (error:Error) { 
      trace("Loading failed"); 
     } 
    } 
} 

}

但是当我运行的代码,输出显示"1180: Call to a possibly undefined method loaderInfo action script error"。我尝试调试一个小时,但无法解决这个问题。帮我。请!对不起,我的英文不好。

+0

谢谢你,因为帮助我修正了语法错误! –

+0

稍微偏离主题,但在这种情况下,您应该使用“as”关键字进行投射。如果正在施放的对象继承自施法者(反之亦然),则应使用as关键字。所以......精灵像Shape。事实之后,内存使用更快更轻松。如果他们没有继承,那么你应该按照你的方式施展。所以...数字(字符串)。 –

+0

感谢您的帮助:) –

回答

0

它应该更简单。你正在尝试请求loaderInfo属性,但为此你甚至不需要类型转换。

var param:Object=this.root.loaderInfo.parameters; 
+0

谢谢您,对我有帮助:) –

0

你做的一切都是正确的,除了以下

var param:Object = LoaderInfo(this.root.loaderInfo).parameters; 

是的,应该有帽 “L”。为flashvars导入LoaderInfo类就足够了。

+0

感谢您的帮助 –

相关问题