Level Selection Screen : Using the buttons !
Well, that's cool this level selection screen, but what is even better is that we can use it ! You know, press a button a play the wanted level !
For that, in the LevelSelectionScreen.java, we need this code in the show() :
public void show() { Gdx.input.setInputProcessor(stage); for(int i = 0; i < levels.size; i++){ if(levels.get(i).getStyle() == textButtonStyle) buttonAction.levelListener(game, levels.get(i), (i+1)); } backButton.addListener(new ClickListener(){ @Override public void clicked(InputEvent event, float x, float y){ game.setScreen(new MainMenuScreen(game)); } }); }
You can see there is a for loop that calls a mysterious "buttonAction.levelListener(game, levels.get(i), (i+1));"
The ButtonAction.java is just an helper class to attribute the right action to the right button, it is to say, call the right level, when you press a button. Its levelListener() function is :
public void levelListener(final MyGdxGame game, TextButton bouton, final int niveau){ bouton.addListener(new ClickListener(){ @Override public void clicked(InputEvent event, float x, float y){ GameConstants.SELECTED_LEVEL = niveau; try{ game.setScreen(new GameScreen(game)); } catch(Exception e){ System.out.println("The level doesn't exist !"); } } }); }
And that's it ! You have a fully operational level selection screen !
Now, let's work on the sounds !
I started yesterday, and I can say it's extremely painful !