如何访问.as文件中的公共函数

时间:2013-12-21 09:14:47

标签: actionscript-3 flash

我正在尝试像往常一样使用ExternalInterface并从main.swf访问.as文件(connect.as)的公共函数。我可以使用零错误制作swf,但我没有看到日志和功能...

例如,有一个名为create

的函数
public function create(webSocketId:int,url:String,protocols:Array,proxyHost:String=null,proxyPort:int= 0,headers:String=null):void {

我尝试甚至从connect.as

中调用它
create(0,'ws://mysie.com:8004',undefined,undefined,undefined);

Ps:我已经检查过上面的代码通常是传入的内容。

main.swf<<我给了文档connect.as

这个类

connect.as:

package net.gimite.websocket {

    import flash.display.Sprite;
    import flash.external.ExternalInterface;
    import flash.system.Security;
    import flash.utils.setTimeout;
    import mx.utils.URLUtil;

    ExternalInterface.call('consol.log',"flash hello");//<----not working

        public class WebSocketMain extends Sprite implements IWebSocketLogger{

        //there are lots of public functions I'm trying to access from main.swf in here

main.swf在此尝试中不喜欢第二行:

import connect;
var connect:Connect = new Connect();
connect.create(10,'ws://mysite.com:8004',undefined,undefined,undefined);

场景1,层'第1层',第1帧,第2行1026:构造函数必须是实例方法。

1 个答案:

答案 0 :(得分:0)

ExternalInterface.call('consol.log',"flash hello");置于class WebSocketMain的构造函数中或其他任何函数中,因为将它放在类外是没有意义的。