Если вы не против немного хакерства, то что-то подобное должно теоретически сработать:
animation.sequence = animation.sequence.reverse(); //Reverse the animation
animation.gotoFrame(animation.length - animation.frame - 1); //Set the frame to be the same frame as it was before.
По существу, свойство sequence класса ig.Animation()
определяет порядок запуска кадров, обновление просто повторяет их по таймеру. Отмените это, и вы полностью измените анимацию. Вы можете просто использовать тот же код еще раз, когда вы хотите сбросить анимацию для пересылки.
Возможно, вам также понадобится сделать animation.rewind()
вместо gotoFrame()
, если вы хотите, чтобы воспроизводилась полностью обратная анимация.
В противном случае вы можете использовать 2 анимации и использовать gotoFrame()
при переключении анимаций для запуска правильного кадра. Также обратите внимание, что приведенный выше код будет дублировать один кадр анимации, вы хотели бы удалить -1
(глядя на источник, я думаю, что это будет хорошо в случае, когда frame = 0
).