Libgdx pool.obtain () возвращает NULL ActionJAVA

Программисты JAVA общаются здесь
Anonymous
Libgdx pool.obtain () возвращает NULL Action

Сообщение Anonymous »

Иногда я получаю NPE при вызове FlipMotion () внутри актера :

Код: Выделить всё

{
ParallelAction parallel = parallel(...);

parallel.addAction(flipMotion(duration));
addAction(after(parallel));
}

private SequenceAction flipMotion(float duration) {
RunnableAction flip = faceUp ? run(this::flipDown) : run(this::flipUp);
return sequence(
scaleTo(0, 1, duration / 2),
flip,
scaleTo(1, 1, duration / 2));
}
Примечание: parallel () , After () , run () , sequence () и scaleto () - это статические действия libgdx. Libgdx actions class:

Код: Выделить всё

static public RunnableAction run (Runnable runnable) {
RunnableAction action = action(RunnableAction.class);
action.setRunnable(runnable);
return action;
}

static public  T action (Class type) {
Pool pool = Pools.get(type);
T action = pool.obtain();
action.setPool(pool);
return action;
}
< /code>
Но по какой -то причине я получаю эту ошибку: < /p>
java.lang.NullPointerException: Attempt to invoke virtual method 'void setPool(Pool)' on a null object reference
com.badlogic.gdx.scenes.scene2d.actions.Actions.action(Actions.java:36)
com.badlogic.gdx.scenes.scene2d.actions.Actions.run(Actions.java:451)
com.example.game.elements.Card.flipMotion(Card.java:113)
Я использую gdxversion = '1.13.1' , я ценю любую помощь.

Подробнее здесь: https://stackoverflow.com/questions/795 ... ull-action

Вернуться в «JAVA»