2011-12-07 115 views
0

我想在觸摸時將Sprite應用到scaleModifier。我使用如下所示的ScaleModifier:如何將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)); 
    .... 
} 

,它工作正常。確保如果你使用IOnSceneTouchListener還註冊它:

scene.setOnSceneTouchListener(...); 

或者,如果你決定重寫onAreaTouch方法,請確保您註冊動畫精靈的觸摸區域:

scene.registerTouchArea(yourAnimatedSprite); 
+0

嗯,我注意到另一個問題,我有適當的構造函數等我的AnimatedSprite單獨的類。當我刪除該類,並嘗試它的工作。我不知道單獨上課有什麼問題。 – Khawar

+0

如果你重寫了'onAreaTouched'並且用'Scene.registerTouchArea'方法註冊了你的新類實例,它應該可以工作。 – Jong