Java LIBGDX如何从纹理图集添加精灵

Java LIBGDX如何从纹理图集添加精灵,java,libgdx,Java,Libgdx,我需要知道如何从纹理图集添加一个精灵,以便将其作为主菜单的精灵来实现 以下是我的主菜单代码: public class MainMenu implements Screen { CrazyZombies game; Stage stage; TextureAtlas atlas; Skin skin; SpriteBatch batch; TextureRegion firstLayer; TextureRegion secondLay

我需要知道如何从纹理图集添加一个精灵,以便将其作为主菜单的精灵来实现

以下是我的主菜单代码:

public class MainMenu implements Screen {

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

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

    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();
        batch.end();
    }

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


    }

    @Override
    public void show() {
        batch = new SpriteBatch();
        skin = new Skin();
    }

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

    @Override
    public void pause() {

    }

    @Override
    public void resume() {

    }

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

    public void loadLayers() {
        TextureAtlas atlas = new TextureAtlas(Gdx.files.internal("data/mainmenu/MainMenu.pack"));
        firstLayer = atlas.findRegion("1layer");
    }
}

所以我需要把firstLayer放到屏幕上,我尝试的每一种方法都以崩溃告终。

你做得不对。您的渲染方法没有任何绘图。看看libgdx中的演示

回答如何创建精灵-

Sprite mySprite;
...
...
mySprite = new Sprite(someTextureRegion);
        mySprite.setSize(SOME_WIDTH, SOME_HEIGHT);
        mySprite.setOrigin(SOME_WIDTH/2f, SOME_HEIGHT/2f);
        mySprite.setPosition(world.sprite.bounds.x, world.sprite.bounds.y);
...
...
mySprite.draw(batch);