Well I have officially lost my sanity trying to create a menu. I managed to succesfully create some tiny button on the screen but now I have no idea wether to check if the mouse is over it, or clicked it, and until now I did not realize you could put a whole new method in a constructor?!
Seriously, can someone explain to me how this even works?
buttonPlay.addListener(new ChangeListener(){
@Override
public void changed(ChangeEvent event, Actor actor) {
gameCore.setScreen(gameCore.gameScreen);
}
});
It makes absolutely no sense reading it, and I feel its an important topic I should learn for game development. Hopefully if I can learn this I can create much better things. Here’s the rest of my code, not sure if I’m making buttons completely wrong, I heard you needed a table to set the buttons position but I supposed it couldn’t hurt its mouse detection much.
stage = new Stage();
buttonAtlas = new TextureAtlas(Gdx.files.internal("data/Resources/Gui/Buttons.atlas"));
skin = new Skin(buttonAtlas);
buttonStyle = new TextButtonStyle();
buttonStyle.font = new BitmapFont();
buttonStyle.up = skin.newDrawable("ButtonWood");
buttonStyle.down = skin.newDrawable("ButtonWood_Down");
buttonPlay = new TextButton("Play",buttonStyle);
buttonPlay.setPosition(400, 400);
buttonPlay.addListener(new ChangeListener(){
@Override
public void changed(ChangeEvent event, Actor actor) {
gameCore.setScreen(gameCore.gameScreen);
}
});
buttonExit = new TextButton("Exit",buttonStyle);
buttonExit.setPosition(400, 300);
buttonLoad = new TextButton("Load",buttonStyle);
buttonLoad.setPosition(400, 200);
buttonSave = new TextButton("Save",buttonStyle);
buttonSave.setPosition(400, 100);
stage.addActor(buttonPlay);
stage.addActor(buttonExit);
stage.addActor(buttonLoad);
stage.addActor(buttonSave);