상기 처럼 상황에 따라서 스프라이트가 변경될 필요가 있다면?
스프라이트 변경은 어떻게 할까? 여러방법이 있겠지만, 오늘은 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];
배열을 이용한 스프라이트 변경이였습니다.
좋은 하루보내세요. 감사합니다.
반응형
'앱 만들기 > 유니티2D 게임 만드는 방법' 카테고리의 다른 글
유니티 - Standrad Assets 2018.4 버전 컴파일 에러 발생시 (2) | 2021.07.08 |
---|---|
유니티-8방향으로 총알을 발사하다. (1) | 2021.07.01 |
유니티 - 전투기 8방향으로 이동 하기. (2) | 2021.06.29 |
유니티 - 디버그 로그 출력하기 (4) | 2021.06.28 |
유니티-화면 전환하기 (2) | 2021.06.19 |
댓글