0

我正在尝试调用在类中设置的函数..

我怎么能这么叫?

这是我的来源,我想从这个类之外调用“processLogin”。链接到来源: http: //pastebin.com/aFygyXKZ

4

2 回答 2

2

您可以创建类 main 的新实例。

尝试

var m:main = new main();
m.processLogin();

此外,AS3 最佳实践规定类应以大写字母开头。

您还应该为不需要时间线功能的 DisplayObject 类扩展 Sprite 而不是 MovieClip。

于 2012-09-27T21:52:24.417 回答
0

如果你知道你的应用程序中只会有一个 main 类的实例,你可以做的是:

  1. 将 main 类实现为单例类main.getInstance().processLogin,在这种情况下,您可以使用或访问 processLogin 方法
  2. 只需向包含主类实例的主类添加一个公共静态变量。在这种情况下,您的代码将类似于:

    package actions {
    import flash.display.MovieClip;
    import flash.events.*;
    import flash.net.*;
    import flash.text.*;
    
    public static var instance:main;
    
    public function main(){
    instance = this;
    }
    
    //The rest of your main class code...
    }
    

    这样,您可以使用main.instance.processLogin().

但是,如果您的应用程序设置为可能有多个主类的实例,那么最好的方法是实例化 main 并使用该实例,如 fa 建议的那样。

于 2012-09-27T23:05:14.667 回答