簡體   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