И сделать анимацию:

ал о libgdx и застрял в этой проблеме с анимацией. Я читал об анимации в libgdx с их github, и когда я запускаю приложение на своем телефоне, приложение вылетает после экрана загрузки. Вот мой игрок Актер, который происходит от Актера. Я создаю актера игрока в своем классе экрана меню и добавляю его на сцену. Предполагается, что на экране меню появляются летающие вверх и вниз, но приложение вылетает. Я знаю, что это мой игрок, потому что, когда я комментирую игрока в моем классе экрана меню, приложение не падает. Я использую упаковщик текстур на своем плоском спрайте и загружаю его в свою игру.

public class PlayerActor extends Actor{

private DrunkPilot pGame;

private static final int NUM_ROWS = 5, NUM_COLS = 5;

private Animation<TextureRegion> drunkFlying;
private float stateTimer;
private TextureRegion region;
private Texture planeTex;

public PlayerActor(){

    planeTex = pGame.assetManager.manager.get(Constants.plane);
    planeTex = new Texture(Gdx.files.internal(Constants.plane));

    drunkFlyingAnimation();

}

private void drunkFlyingAnimation(){

    TextureRegion[][] tmp = TextureRegion.split(planeTex, planeTex.getWidth() / NUM_COLS, planeTex.getHeight() / NUM_ROWS);
    TextureRegion[] flyFrames = new TextureRegion[NUM_COLS * NUM_ROWS];

    int index = 0;
    for (int i = 0; i < NUM_ROWS; i++) {
        for (int j = 0; j < NUM_COLS; j++) {
            flyFrames[index++] = tmp[i][j];
        }
    }

    drunkFlying = new Animation<TextureRegion>(0.025f, flyFrames);
    stateTimer = 0;
    region = drunkFlying.getKeyFrame(0);
}

@Override
public void draw(Batch batch, float alpha){
    super.draw(batch, alpha);
    GdxUtils.clearScreen();
    stateTimer += Gdx.graphics.getDeltaTime();
    TextureRegion drunk = drunkFlying.getKeyFrame(stateTimer, true);

    batch.draw(drunk, getX(), getY(), getWidth() / 2, getHeight() / 2, getWidth(), getHeight(), getScaleX(), getScaleY(), getRotation());

}

public void dispose(){
    planeTex.dispose();
}

}

Здесь я добавляю своего актера на сцену.

@Override
public void show() {
    Gdx.input.setInputProcessor(menuStage);

    menuTitle = new Image(menuTitleTexture);
    menuStartImg = new Image(menuStartTexture);

    menuTable = new Table();
    menuTable.setFillParent(true);
    menuTable.add(menuTitle).pad(20).align(Align.top);
    menuTable.row();
    menuTable.add(menuStartImg).align(Align.bottom).pad(30);

    menuStage.addActor(parallaxBackground);
    menuStage.addActor(menuTable);
    menuStage.addActor(player);
}

Ответы на вопрос(1)

Ваш ответ на вопрос