2014-12-01 3 views
1

Использование Unity 4.6 и 2D-файлов с анимацией.Обратный звонок на конец анимации в Unity

Я оживляю GameObject и имею несколько переходов, чтобы идти вперед и назад между состояниями, выполняющими анимацию. Анимации, как правило, не повторяются. Как я могу присоединить обратный вызов к функции сценария, которая будет вызываться при завершении анимации?

ответ

0

Я нашел что-то, что называется Анимация. Я могу легко вызвать функцию с этим в указанное время в интервале анимации. Вероятно, это будет работать во многих случаях ...

Проблема в том, что на этот раз у меня есть одна анимация, которая используется дважды, один раз, чтобы перейти из состояния A в состояние B, а затем та же анимация, идущая от B до A с использованием времени, установленного в -1. Обратный вызов «конец» анимации будет вызываться в конце положительной анимации, но вызывается в начале негативной анимации. Похоже, что это становится слишком сложным, чтобы сделать какой-то смысл из этого, и было бы целесообразно более чистое решение.

+0

вместо того, чтобы иметь обратный вызов в «конце» перехода к заданному состоянию, не могли ли вы иметь его при «запуске» анимации в этом состоянии? или это петля? – Lefty

+0

Анимация используется двумя способами, как я уже сказал. 1: от начала до конца, 2: от финиша до начала (как я уже сказал, просто установите время -1 для достижения этого). Независимо от того, где я помещаю событие анимации, он будет вызываться как в анимации, так и без каких-либо дополнительных трюков, я бы не знал, какая анимация была вызвана. – Jonny

+0

ОК, я думаю, что мы используем разные взгляды на машину аниматора ... но неважно. Не могли бы вы проверить 'if (Animator.speed = -1) {...}' в случае или что-то подобное? в противном случае я бы, возможно, дважды импортировал анимацию, один раз для форвардов с событием и один раз для назад. – Lefty

Смежные вопросы