Unity3D 시퀀스 프레임 애니메이션 만 드 는 방법

우리 가 동태 적 이 고 시 크 한 과학기술 감 이 강 한 UI 를 만들어 야 할 때 미술 은 보통 우리 에 게 서열 도 를 제공 해 준다.이때 우 리 는 프로그램 에서 서열 애니메이션 을 실현 해 야 한다.
애니메이션
유 니 티 자체 프레임 애니메이션 기 는 매우 편리 합 니 다.우 리 는 먼저 시퀀스 프레임 애니메이션 을 재생 할 이미 지 를 선택 한 다음 에 Window 에서 Animation 을 선택 하면 애니메이션 제동 화면 이 팝 업 됩 니 다.우 리 는 Create 를 선택 한 다음 에 다음 화면 에 들 어 갑 니 다.

우 리 는 다음 과 같이 애니메이션 제어 속성 을 추가 합 니 다.

그리고 우리 미술 이 우리 에 게 준 시퀀스 그림(2D andUI 모드 로 설정 해 야 합 니 다)을 애니메이션 프레임 패 널 에 끌 어 옵 니 다.

유 니 티 가 자체 적 으로 가지 고 있 는 애니메이션 기 는 시퀀스 프레임 애니메이션 을 재생 하 는 것 이 간단 하고 편리 하지만 한계 가 있다.우 리 는 애니메이션 의 진행 과정 과 우리 의 요 구 를 편리 하 게 통제 할 수 없 기 때문이다.그래도 되 지만 코드 를 써 야 하고 애니메이션 기 를 다 루 느 라 너무 힘 들 어 요.애니메이션 재생 을 완전히 코드 로 제어 하 는 방법 을 소개 한다.
코드 제어
이 방법 은 완전히 코드 로 이 루어 져 서 애니메이션 기 를 조작 할 필요 가 없다.코드 는 다음 과 같 습 니 다:

public class Test : MonoBehaviour {
 
 [SerializeField]
 private Image image;
 [SerializeField]
 private List<Sprite> animationSprites = new List<Sprite>();
 
 
 private int AnimationAmount { get { return animationSprites.Count; } }
 public void PlayAnimation()
 {
 if (image == null) image = GetComponent<Image>();
 StartCoroutine(PlayAnimationForwardIEnum());
 }
 
 private IEnumerator PlayAnimationForwardIEnum()
 {
 int index = 0;//                
 gameObject.SetActive(true);
 while (true)
 {
 //                                          
 if (index > AnimationAmount - 1)
 {
 index = 50;
 }
 image.sprite = animationSprites[index];
 index++;
 yield return new WaitForSeconds(0.03f);//             
 }
 }
}
효과 도 는 다음 과 같다.

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기