2014-07-02 55 views
0

因此,我需要在3次移動後從小型Flash遊戲中移除我的青蛙,我試圖用'aantalGezwommen'和一個函數來做到這一點,可悲的是,現在可以使用代碼。AS3:部分代碼無法執行

我想不出來,你們有沒有想法?

我已經包含了完整的代碼,因此,如果別的東西是錯誤的,請告訴:)

package { 

    import flash.display.MovieClip; 
    import flash.events.Event; 
    import flash.events.MouseEvent; 
    import flash.utils.Timer; 
    import flash.events.TimerEvent; 
    import flash.geom.Point; 

    public class KikkerOgen extends MovieClip { 

     var timer:Timer = new Timer(1000, 4); 
     var geknipperd:int = 0; 
     var hoevaakKnipperen:int = 0; 
     var aantalGezwommen:int = 0; 
     var score:int = 0; 

     //boompjes en bosjes 
     var object_1:Point = new Point(57,84); 
     var object_2:Point = new Point(500,86); 
     var object_3:Point = new Point(46,168); 
     var object_4:Point = new Point(479,126); 
     var object_5:Point = new Point(69,159); 
     var object_6:Point = new Point(443,162); 
     var object_7:Point = new Point(248,316); 
     var object_8:Point = new Point(209,198); 
     var object_9:Point = new Point(163,357); 
     var object_10:Point = new Point(440,283); 

     //constructor 
     public function KikkerOgen() 
     { 
      addEventListener(Event.ENTER_FRAME, Update); 
      addEventListener(MouseEvent.CLICK, isClicked); 
      timer.addEventListener(TimerEvent.TIMER, Knipperen); 
      timer.start(); 
      gotoAndStop(13); 
     } 

     public function Update (event:Event) 
     { 
      trace(currentFrame); 
     } 

     //Score moet bij deze functie omhoog - document class 
     public function isClicked (event:MouseEvent):void 
     { 
      this.parent.removeChild(this); 
     } 

     //Hier telt hij het aantal keren dat de kikker moet knipperen 
     function Knipperen (event:TimerEvent):void 
     { 
      if (event.currentTarget.currentCount >= 2 && geknipperd < 3) { 
       geknipperd ++; 
       gotoAndPlay(1); 
      } 

      //Wanneer de kikker 3x geknipperd heeft moet hij naar een nieuwe positie 
      if (geknipperd == 3) 
      { 
       //Selecteer een random positie om heen te zwemmen 
       switch(Math.round(Math.random() * 10)) 
       { 
        case 1: 
         x = object_1.x; 
         y = object_1.y; 
         break; 
        case 2: 
         x = object_2.x; 
         y = object_2.y; 
         break; 
        case 3: 
         x = object_3.x; 
         y = object_3.y; 
         break; 
        case 4: 
         x = object_4.x; 
         y = object_4.y; 
         break; 
        case 5: 
         x = object_5.x; 
         y = object_5.y; 
         break; 
        case 6: 
         x = object_6.x; 
         y = object_6.y; 
         break; 
        case 7: 
         x = object_7.x; 
         y = object_7.y; 
         break; 
        case 8: 
         x = object_8.x; 
         y = object_8.y; 
         break; 
        case 9: 
         x = object_9.x; 
         y = object_9.y; 
         break; 
        case 10: 
         x = object_10.x; 
         y = object_10.y; 
         break; 
       } 
       trace("posX:"+x); 
       trace("posY:"+y); 
       //Reset de timmer, het knipperen en laat hem opnieuw tellen om te verplaatsen. 
       geknipperd = 0; 
       trace(geknipperd); 

       //Tel hoevaak het kikkertje verplaatst is om de kikker bij 3x van stage te verwijderen. 
       if (aantalGezwommen < 3) { 
        aantalGezwommen++; 
       } 

       timer.reset(); 
       timer.start(); 
      } 
     } 

     //Wanneer de kikker 3x is verplaats verwijder hem uit het spel 
     function removeKikker() 
     { 
      if (aantalGezwommen == 3) 
      { 
       this.parent.removeChild(this); 
      } 
     } 
    } 
} 

道歉荷蘭筆記,東西我需要記住:)

回答

0

無處在你的代碼你正在調用removeKikker函數。要運行它的函數必須被調用。

+0

謝謝,一直在這方面工作太長,所以無法找到問題了。 – Lodan