2013-07-22 6 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

실제 일어나고있는 것은 무엇입니까? 나는 이해하지 못했습니다 ...

그러나 나는 당신의 코드를 조금 이해했습니다. 그리고 나는 runonupdatethread를 제거하는 것이 좋습니다. 애니메이션 코드를 runonupdatheheard 외부에두고 시도하십시오.

나는 ... 직접 스프라이트 애니메이션을

+0

애니메이션 코드는 runonupdatethread 외부에서 잘 실행되고 있지만 (또한 애니메이션 코드로 이동)에 도달 총알이/내 스프라이트와 충돌 할 때 나는 그것을 애니메이션을 적용 할. "b.sprite.collidesWith (적)" 게임이 실행 중일 때 총알이 내 스프라이트에 도달하면이 함수가 호출됩니다. 그래서 기본적으로 나는 총알이 내 물건에 닿을 때 내 실을 업데이트하고 싶다. 그러나 unforunately는 작동하지 않는다. – developer