2014-06-21 52 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

相关问题