Libgdx: Action.OnCompletionListener

Созданный на 14 февр. 2014  ·  3Комментарии  ·  Источник: libgdx/libgdx

Мне не удалось найти способ проверить, завершено ли специальное действие (параллельное с некоторыми другими на том же актере). Что-то вроде интерфейса Action.OnCompletionListener, такого как Music.OnCompletionListener, было бы действительно неплохо.

Действие a = Действия.fadeOut(10);
a.setOnCompletionListener (новый Action.OnCompletionListener() {
//сделай что-нибудь.
})

Есть ли особая причина, по которой ничего подобного не интегрировано?

Самый полезный комментарий

Вы можете использовать:

sequence(someAction, new Action() {
    public boolean act (float delta) {
        // This runs when someAction is done.
        return true;
    }
});
// OR, one line of code less:
sequence(someAction, run(new Runnable() {
    public void run () {
        // This runs when someAction is done.
    }
}));

Я не могу придумать сценарий, в котором прослушиватель завершения был бы более полезен.

Все 3 Комментарий

Вы можете использовать:

sequence(someAction, new Action() {
    public boolean act (float delta) {
        // This runs when someAction is done.
        return true;
    }
});
// OR, one line of code less:
sequence(someAction, run(new Runnable() {
    public void run () {
        // This runs when someAction is done.
    }
}));

Я не могу придумать сценарий, в котором прослушиватель завершения был бы более полезен.

О, это хорошо! Большое спасибо. Не знал, что вы можете так легко интегрировать свои собственные действия.

Кстати, не могли бы вы объяснить мне, что делает AfterAction (Actions.after(Action))? Я не мог понять, что. Наткнулся на него при поиске метода прослушивания.

Да, вся идея действий в том, что вы можете легко написать свои собственные. :)

AfterAction «Выполняет действие только после того, как все другие действия над субъектом на момент добавления этого действия завершены». Таким образом, вы добавляете действие, и оно не завершается, пока не будут выполнены все остальные действия. Вы можете использовать это, чтобы заблокировать последовательность, чтобы вещи происходили после других вещей.

CountdownEventAction — это еще один способ контролировать выполнение действий после других событий. См. эту тему и сообщение в блоге, связанное оттуда:
http://www.badlogicgames.com/forum/viewtopic.php?t=12322&p=56104

Была ли эта страница полезной?
0 / 5 - 0 рейтинги