2014-12-01 4 views
1

Unity 4.6 및 2D 애니메이션 사용.Unity의 애니메이션 종료 콜백

저는 GameObject에 애니메이션을 적용하고 애니메이션을 수행하는 상태간에 앞뒤로 이동하는 몇 가지 전환이 있습니다. 애니메이션은 일반적으로 반복되지 않습니다. 애니메이션이 끝날 때 호출되는 스크립트 함수에 콜백을 어떻게 첨부 할 수 있습니까?

답변

0

애니메이션 이벤트를 호출했습니다. 애니메이션 간격에서 지정된 시간에이 함수를 쉽게 호출 할 수 있습니다. 그것은 아마도 많은 경우에 효과가있을 것입니다 ...

문제는 이번에는 한 번 애니메이션을 두 번 사용했고 한 번 상태 A에서 상태 B로 이동 한 다음 동일한 애니메이션을 B에서 뒤로 이동합니다. 사용 시간은 -1로 설정됩니다. 애니메이션 "end"콜백은 양수 애니메이션의 끝에서 호출되지만 음수 애니메이션의 시작 부분에서 호출됩니다. 그것이 너무 복잡해지면 감각을 없애고 깨끗한 해결책이 적절할 것이라고 생각합니다.

+0

주어진 상태로의 전환의 "끝"에서 콜백을 가지지 않고 그 상태의 애니메이션의 "시작"에서 콜백을 가질 수 없습니까? 또는 루프가 실행됩니까? – Lefty

+0

애니메이션은 두 가지 방법으로 사용됩니다. 1 : 처음부터 끝까지, 2 : 끝에서부터 시작까지 (말하자면, 이것을 달성하기 위해 -1로 시간을 설정하십시오). 애니메이션 이벤트를 어디에 두든간에 애니메이션은 두 애니메이션에서 모두 호출되며 어떤 애니메이션이 호출되었는지는 알지 못합니다. – Jonny

+0

좋아요, 우리는 애니메이터 상태 머신에서 다른 전망을 사용하고 있다고 생각합니다.하지만 상관 없습니다. 이벤트 또는 이와 유사한 항목에서'if (Animator.speed = -1) {...} '를 확인할 수 있습니까? 애니메이션을 두 번 가져 오지 못했을 가능성이 있습니다. 한 번은 이벤트가있는 전달과 한 번만 거꾸로 전달됩니다. – Lefty