2012-01-26 22 views
3

我想在andEngine執行一個序列(精靈動畫),當精靈碰撞某事。嘗試在IUpdateHandler中定義sequenceEntityModifier,但不執行序列。AndEngine。在碰撞時執行一個序列

有關如何實現此目的的任何建議?在哪裏放我的動畫代碼?

sprite.registerUpdateHandler(new IUpdateHandler() { 
    @Override 
    public void onUpdate(float pSecondsElapsed) { 
     if(sprite.collidesWith(shape)) { 


      // this will not work 
      final SequenceEntityModifier enemyModifier = new SequenceEntityModifier(
      ... 
      ) 
      // this too 
      sprite.setScale(0.5f); 

     } 
    } 
    @Override 
    public void reset() { 
    } 
}); 

回答

2

我猜你不使用Box2D的,所以註冊這個IUpdateHandler到你的精靈:

sprite.registerUpdateHandler(new IUpdateHandler() { 
    @Override 
    public void onUpdate(float pSecondsElapsed) { 
     if(sprite.collidesWith(shape)) { 
      //animation here 
     } 
    } 

    @Override 
    public void reset() { 
    } 
}); 
+0

我使用的Box2D和使用IUpdateHandler..but如果我把在那裏你寫道:動畫這裏。這條線.. spriteball.setscale(0.5f),或者即使我定義了一個帶修飾符的序列,它也不會動畫,即使代碼被執行。 –

+0

如果您使用Box2D,請改用「ContactListener」。 – Jong

+0

我該如何與AnimatedSprite碰撞精靈? –