2014-03-01 68 views
0

所以我得到了一個符號命名的球它連接到一個名爲類球。我在我的遊戲中放了兩個球(不是通過代碼),並用作實例名稱ball1,ball2。ActionScript 3的相同符號不同的實例名稱。類

問題是我不能引用他們的實例名稱,因爲碼屬於一類,而不是frames.I可以讓球移動同一way.But我不能讓他們通過使用移動的不同實例名稱。除非我爲第二個球創建了另一個類/符號,這是浪費,因爲球看起來是一樣的,每個類中只有1-2行代碼會改變。

那麼我將如何度過,即使沒有使用不同的符號/類工作?我可以參考他們的實例名稱,以便讓他們的移動不同,雖然它們是同一個符號/類?

這是不起作用的代碼:

package 
{ 
    import flash.display.MovieClip; 
    import flash.events.*; 

    public class Ball extends MovieClip 
    { 
     public function Ball():void 
     { 
      addEventListener(Event.ENTER_FRAME, enterFrameHandler); 
     } 

     private function enterFrameHandler(e:Event):void 
     { 
      ball1.x += 2; //ball1 would fly right 
        ball2.y += 2; // while ball2 would fly down but it doesn't work 

     } 
    } 
} 

這是工作和運動兩個球以同樣的方式代碼。

package 
{ 
    import flash.display.MovieClip; 
    import flash.events.*; 

    public class Ball extends MovieClip 
    { 
     public function Ball():void 
     { 
      addEventListener(Event.ENTER_FRAME, enterFrameHandler); 
     } 

     private function enterFrameHandler(e:Event):void 
     { 
      this.x += 2; 
      this.y += 2; 

     } 
    } 
} 
+0

使用的編碼擴展對象的類被稱爲在ActionScript OOP。 – Cilan

回答

0

使用MovieClip(root).ball1MovieClip(root).ball2得到的東西,如果你從時間線上得到了他們。眼下,this指類,所以它不會僅通過他們指他們的實例名稱的工作。

相關問題