2012-07-27 4 views
0

난이 코드를 사용하고 (예를 들어, 100 픽셀 아래에) 내 현장에 약간의 스프라이트를 이동해야하는 경우 : 그것은 작동Android AndEngine에서 애니메이션을 수행하는 방법은 무엇입니까?

Timer timer = new Timer(); 
for (int i=0; i<10; i++) { 
    delay+=frameDelay; 
    timer.schedule(new TimerTask() { 
      @Override 
      public void run() { 
       sprite.setPosition(sprite.getX(), sprite.getY()+10); 
      } 
     },delay); 
} 

을,하지만 난 더 정확한 및/또는 더 많은 것이 궁금 이것을 할 수있는 빠른 가능성. MoveYModifier를 사용, 위/아래 이동 - - 사용할 수있는 다양한 수정에

+0

AndEngine을 사용하고 있습니까? –

답변

5

또는 볼

EaseBounceOut.getInstance (
yourSprite.registerEntityModifier(new MoveYModifier(time, startY, endY, new IEntityModifierListener() { 
       @Override 
       public void onModifierStarted(final IModifier<IEntity> pModifier, final IEntity pItem) { 
        yourActivity.this.runOnUiThread(new Runnable() { 
         @Override 
         public void run() { 
          //Do anything here that you want to happen when the Modifier starts - like start a sound playing, etc 
         } 
        }); 
       } 

       @Override 
       public void onModifierFinished(final IModifier<IEntity> pEntityModifier, final IEntity pEntity) { 
        yourActivity.this.runOnUiThread(new Runnable() { 
         @Override 
         public void run() { 
          //Do anything here that you want to happen after the Modifier is through - like stop playing a sound, etc 
          } 
         } 
        }); 
       } 
      }, EaseBounceOut.getInstance())); 

) 같은 것을 그냥 예입니다 - 그것은에 반송 스프라이트의 원인 end - 사용할 수있는 다른 EaseFunctions가 많이 있습니다.

관련 문제