I'm using AndEngine and Box2d in android application.
How can I have just one event, attached to the "Game Scene", from where I can find out what is pressed, instead of putting an event on every button in "GameHud" and how to detect the hold of the buttons?
public class GameScene extends Scene{
public GameScene(){
GameHud hud = new GameHud(this,activity);
camera.setHUD(hud);
}
//catch the touch event here
}
public class GameHud extends HUD{
public GameHud(Scene scene, GameActivity activity){
Sprite leftArrow = new Sprite(75,75,leftArrowRegion,activity.getVertexBufferObjectManager())
{
@Override
public boolean onAreaTouched(TouchEvent pSceneTouchEvent,
float pTouchAreaLocalX, float pTouchAreaLocalY) {
//...
return true;
}
};
scene.registerTouchArea(this.leftArrow);
Sprite rightArrow = new Sprite(200, 75, rightArrowRegion, activity.getVertexBufferObjectManager())
{
@Override
public boolean onAreaTouched(TouchEvent pSceneTouchEvent,
float pTouchAreaLocalX, float pTouchAreaLocalY) {
//...
return true;
}
};
scene.registerTouchArea(this.rightArrow);
}
}