Libgdx La animación no funciona

He estado leyendo sobre libgdx y me he quedado atrapado en este problema de animación. He leído sobre animación en libgdx desde su github y cuando ejecuto mi aplicación en mi teléfono, la aplicación se bloquea después de la pantalla de carga. Aquí está mi actor Actor que se extiende desde Actor. Creo al actor jugador en mi clase de pantalla de menú y lo agrego al escenario. Se supone que aparece volando hacia arriba y hacia abajo en la pantalla del menú, pero la aplicación se bloquea. Sé que es mi actor de jugador porque cuando comento el actor de jugador en mi clase de pantalla de menú, la aplicación no se bloquea. Uso el packer de texturas en mi sprite de avión y lo cargo en mi juego.

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

}

Aquí es donde agrego a mi actor al escenario.

@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);
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta