繁体   English   中英

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

[英]Calling a function from one class, from another

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

我有两节课。 一个叫做Sledge ,另一个叫做Sock ,还有一个叫做Main的文档类。

我的问题如下:

  • Sledge内部,我调用在Main文档类内部定义的函数。 我将如何告诉类去文档类并运行该函数? 其他类还是仅文档类也一样吗?

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

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

您如何表达问题有些模棱两可的问题。 如果您发布该问题的简短代码,将很有帮助。

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

在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"));
   }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM