2013-07-22 119 views
0

在遊戲場景中,當玩家觸發時,敵人將自動生成動畫並且必須從場景中移出。我嘗試了很多,但沒有找到解決方案。在遊戲場景中重新加載動畫精靈Andengine

這裏是我的代碼。

 it = bulletList.iterator(); 
    while (it.hasNext()) { 
    final Bullet b = (Bullet) it.next(); 

    if (b.sprite.collidesWith(enemy)) { 

       engine.runOnUpdateThread(new Runnable() { 


     public void run() { 
      enemy.animate(new long[]{100,100,100,100,100},10,14,1 
      , new IAnimationListener() { 
      @Override 
      public void onAnimationStarted(AnimatedSprite pAnimatedSprite,int  

    pInitialLoopCount) { 
       } 
     @Override 
       public void onAnimationLoopFinished(AnimatedSprite pAnimatedSprite, 
         int pRemainingLoopCount, int 
      pInitialLoopCount) { 
        // TODO Auto-generated method stub 

       } 

       @Override 
     public void onAnimationFrameChanged(AnimatedSprite pAnimatedSprite, 
       int pOldFrameIndex, int pNewFrameIndex) { 
        // TODO Auto-generated method stub 

       } 

       @Override 
     public void onAnimationFinished(AnimatedSprite pAnimatedSprite) { 
        // TODO Auto-generated method stub 
        detachChild(sprite); 
       } 
      }); 
           enemy.setIgnoreUpdate(true); 
          it.remove(); 
          break; 
        } 
       } 
       } 

回答

0

它究竟發生了什麼? 我不明白......

但我理解你的代碼bit.And我建議你刪除runonupdatethread。 然後將你的動畫代碼放在runonupdatetheard之外並嘗試。

我直接動畫精靈......

+0

動畫代碼是runonupdatethread外部的微小運行,但我想動畫它與我的精靈,當子彈(這也與動畫代碼移動)點擊/碰撞。 「b.sprite.collidesWith(enemy)」 當遊戲處於運行狀態時子彈擊中我的精靈時會調用此函數。所以,基本上我想在子彈擊中我的對象時更新我的​​線程但不幸的是它不工作。 – developer