简体   繁体   中英

LIBGDX creating actors and stage for the main menu

I need to know how i would go about setting up a stage and adding actors to it for my main menu.

Here is my code so far

public class MainMenu implements Screen {

CrazyZombies game;
Stage stage;
TextureAtlas atlas;
SpriteBatch batch;
Skin skin;
Button button;

TextureRegion firstLayer, secondLayer, thirdLayer, fourthLayer,
    fifthLayer, sixthLayer, seventhLayer, eighthLayer, ninthLayer,
    tenthLayer, eleventhLayer;

Sprite road, backTrees, sideTrees, bottemTrees, light, poles,
    play, quit, store, custom, options;

public MainMenu(CrazyZombies game){
    this.game = game;
}

@Override
public void render(float delta) {
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
    Gdx.gl.glClearColor(0.09f, 0.28f, 0.2f, 1);

    batch.begin();
    road.draw(batch);
    backTrees.draw(batch);
    sideTrees.draw(batch);
    bottemTrees.draw(batch);
    light.draw(batch);
    poles.draw(batch);
    play.draw(batch);
    quit.draw(batch);
    store.draw(batch);
    custom.draw(batch);
    options.draw(batch);
    batch.end();

}

@Override
public void resize(int width, int height) {    
    Gdx.input.setInputProcessor(stage);

}

@Override
public void show() {
    Audio.playMusic(true);

    batch = new SpriteBatch();      
    atlas = new TextureAtlas("data/mainmenu/MainMenu.pack");

    firstLayer = atlas.findRegion("1layer");
    secondLayer = atlas.findRegion("2layer");
    thirdLayer = atlas.findRegion("3layer");
    fourthLayer = atlas.findRegion("4layer");
    fifthLayer = atlas.findRegion("5layer");
    sixthLayer = atlas.findRegion("6layer");
    seventhLayer = atlas.findRegion("7layer");
    eighthLayer = atlas.findRegion("8layer");
    ninthLayer = atlas.findRegion("9layer");
    tenthLayer = atlas.findRegion("10layer");
    eleventhLayer = atlas.findRegion("11layer");


    road = new Sprite(firstLayer);
    backTrees = new Sprite(secondLayer);
    sideTrees = new Sprite(thirdLayer);
    bottemTrees = new Sprite(fourthLayer);
    light = new Sprite(fifthLayer);
    poles = new Sprite(sixthLayer);
    play = new Sprite(seventhLayer);
    quit = new Sprite(eighthLayer);
    store = new Sprite(ninthLayer);
    custom = new Sprite(tenthLayer);
    options = new Sprite(eleventhLayer);

}

@Override
public void hide() {
    dispose();
}

@Override
public void pause() {

}

@Override
public void resume() {
}

@Override
public void dispose() {
    batch.dispose();
    atlas.dispose();
    Audio.dispose();
}

}

The bits that i need to become actors are: - play - quit - store - custom - options

All my code does at the moment is just display my main menu i need to get the stage and actors setup in order to get the buttons working.

Take a look at TableLayout and also take a look at TextButton or maybe Button .


Here is a good tutorial . Work through it and you will understand how to work with the Screen2D and how to create a simple menu. -> Direkt link to Menucreation of the Blog

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM