2014-06-21 84 views
0

所以我在第5,10,15,20我有mnright();我做了一個名爲Main的文檔類,我在主類中聲明瞭函數mnright();等。但是當我嘗試運行它時,出現4個錯誤AS3 1180:調用一個可能未定義的方法mnright

1180:調用一個可能未定義的方法mnright。

我已經到處尋找一把芒,但我找不到一個,所以這是我最後的手段。

Main.as

package Main { 
     import flash.display.MovieClip; 

     public class Main extends MovieClip { 

      public function Main() { 
       trace("working");  

       function mnright():void { 
        if (man.hitTestObject(square)) { 
         pullBackwards(); 
        } else { 
         man.x += 10; 
        } 
       } 

       function pullBackwards():void { 
        man.x -= 10; 
       } 
      } 
     } 
    } 
} 

回答

1

你想使你的類mnright()pullBackwards()公共職能。因爲這是他們唯一存在的構造函數中...所以乾脆改成這樣:

package Main { 
    import flash.display.MovieClip; 

    public class Main extends MovieClip { 

     public function Main() { 
      trace("working");  

     }//end of constructor 
     public function mnright():void {//becomes public member 
      trace("mnright was used"); 
      if (man.hitTestObject(square)) { 
       pullBackwards(); 
      } else { 
       man.x += 10; 
      } 
     } 
     public function pullBackwards():void {//this too 
      trace("pulling backwards!"); 
      man.x -= 10; 
     } 
    } 
} 

從技術上講,他們可能是私人或受保護的,但爲了方便使用,我建議公開,直到你更習慣於記錄類和他們的技巧:)

+0

OMG謝謝!所以很多 – user3046310

+0

不客氣:) – Boris

相關問題