从一个类调用一个函数,从另一个类调用

时间:2012-01-11 18:52:22

标签: actionscript-3 class variables

我在使用ActionScript 3时遇到了一些问题,我来这里是为了寻求帮助。

我有两节课。一个名为Sledge,一个名为Sock,还有一个名为Main的文档类。

我的问题如下:

  • Sledge内,我调用了一个在Main文档类中定义的函数。我如何告诉班级去文档课并运行该功能?对于其他类或文档类,这也是相同的吗?

  • Sledge内,我有以下声明:if(hitTestObject(sock.myHitArea)) { /* somecode*/ }

    sock是另一个单独类的实例,到目前为止已经创建了。但是,当我尝试运行这个时,我被告知它没有定义。我将如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您表达问题的方式存在一些含糊不清的问题。如果您发布了问题的简短代码,这将有所帮助。

但是,我会尝试回答第一个问题:

  
    

在Sledge内部,我调用一个在Main文档类中定义的函数。我如何告诉班级去文档课并运行该功能?

  

您可能希望将Main类传递给Sledge类或使用更可取的事件。如果通过课程,它将看起来像这样......

class Sledge {
   private var main:Main;
   function Sledge(main:Main) {
      this.main = main;
   }
   function doSomething():void {
     main.runSomeFunction();
   }
}

或者如果使用事件:

class Main {
private var sledge:Sledge;
   function Main() {
      sledge = new Sledge();
      sledge.addEventListener("mainDoSomething", doSomething);
   }
   private function doSomething(e:Event):void {
     // .... do stuff
   }
}
class Sledge extends EventDispacter {
   function Sledge() {
   }
   public function doSomething():void {
     dispatchEvent(new Event("mainDoSomething"));
   }
}