2012-01-26 9 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)、または修飾子付きのSequenceを定義しても、コードが実行されてもアニメーション化されません。 –

+0

Box2Dを使用している場合は、代わりに 'ContactListener'を使用してください。 – Jong

+0

SpriteとAnimatedSpriteをどのように衝突させることができますか? –

関連する問題