2011-12-07 2 views
0

触れたときにscaleModifierをスプライトに適用したい。次のようなscaleModifierを適用します:Animated SpriteがタッチされたときにscaleModifierを適用する方法(AndEngine)

mMySprite.registerEntityModifier(new ScaleModifier(2f, 1f, 0.5f)); 

これには動的ボディが添付されています。私は体が変わることはないが、少なくともスプライトはスケールされるべきだと読んだ。しかし、何も起こりません。どのように私はこれを行うことができ、何が欠けているか教えていただけますか?

答えて

1

私はこのコードを持っている:

@Override 
public boolean onSceneTouchEvent(Scene pScene, TouchEvent pSceneTouchEvent) { 
    .... 
    (Some AnimatedSprite object).registerEntityModifier(new ScaleModifier(2, 1, 0.5f)); 
    .... 
} 

を、それが正常に動作します。

scene.setOnSceneTouchListener(...); 

それとも、あなたがonAreaTouchメソッドをオーバーライドすることを決定した場合、あなたはタッチ領域として、あなたのアニメーションスプライトを登録していることを確認します:

scene.registerTouchArea(yourAnimatedSprite); 
+0

まあ、私は気づいたあなたがIOnSceneTouchListenerを使用する場合にも、それを登録していることを確認してください別の問題は、適切なコンストラクタなどでAnimatedSprite用に別のクラスを用意していたときでした。そのクラスを削除して試してみました。私は別のクラスを持っていることで何が問題だったのか分かりません。 – Khawar

+0

'onAreaTouched'をオーバーライドし、新しいクラスインスタンスを' Scene.registerTouchArea'メソッドで登録した場合、それはうまくいくはずです。 – Jong

関連する問題