앱 만들기/유니티2D

유니티-스프라이트 변경하기.

나도 처음이야 2021. 6. 30.

 

 

상기 처럼 상황에 따라서 스프라이트가 변경될 필요가 있다면?

스프라이트 변경은 어떻게 할까? 여러방법이 있겠지만, 오늘은 Sprites 배열을 활용해 본다.

 

전투기를 움직이는 스크립트에

하기와 같이 Sprite[] 배열을 선언과 정의한다.

public Sprite[] sprites = new Sprite[direction]; // 방향에 따른 이미지를 교체하기 위해서.

Inspector 창에서 각 배열요소가 될 스프라이트를 마우스로 끌어넣기 하여 배열값을 초기화 한다.

이런 것이 바로 유니티의 편리성 중 하나가 될 수 있다.

그럼 실제 소스에서는 어떻게 스프라이트를 원할때마다 변경할까?

키보드에서 오른쪽 대각선 방향키가 동시에 눌렸을때를 예로 들어보자.

 

전투기의 spriteRenderer 컴포넌트를 얻어온 후

spriteRenderer = GetComponent<SpriteRenderer>();

if ( Input.GetKey("right") && Input.GetKey("up"))
        { // 만약 오른쪽 키가 눌리면
            vy = speed;
            vx = speed; // 오른쪽으로 나아가는 이동량을 넣는다
// Inspector 에 지정한 오브젝트를 스프라이트에 적용한다. 

           spriteRenderer.sprite = sprites[2];

  

 

배열을 이용한 스프라이트 변경이였습니다.

좋은 하루보내세요. 감사합니다.

반응형

댓글