Programming/Unity

[유니티 Unity] 이미지 변경하기

통통만두 2018. 9. 3. 20:47
반응형

유니티 Unity 에서 버튼 및 GameObject 의 이미지를 변경해보도록 하겠습니다.

우선 Assets 폴더 하위에 Resources 폴더를 만듭니다. 그 이후에 하위 폴더를 더 생성해도 상관은 없습니다만 Resources 클래스를 통해서 이미지를 불러오기 위해서는 반드시 Resources 폴더가 상대경로가 지정이 되기 때문에 Resources 폴더 하위에 존재해야 합니다.


public GameObject image; ... image.GetComponent<Image>().sprite = Resources.Load("images\marsland", typeof(Sprite)) as Sprite;

여기서 주의하실 점은 images 폴더는 Resources 하위 폴더이며, 이미지의 확장자는 입력하지 않습니다. ext 확장자는 빼고 순수하게 파일명만 입력하시면 됩니다.


위의 코드는 단일 이미지를 불러오는 예제이며 폴더 내에 있는 모든 이미지를 읽어와서 랜덤으로 보여주는 것을 해보겠습니다.


public GameObject image;

...

Sprite[] sprites = Resources.LoadAll<Sprite>("images");
int index = Random.Range(0, sprites.Length - 1);
image.GetComponent<Image>().sprite = sprites[index];

Resources.LoadAll 을 통해서 images 폴더를 통째로 로딩한 다음 랜덤으로 한 장을 골라서 GameObject 에 표시해보았습니다. 


유니티 Unity 를 공부하면서 예제로 클리커(Clicker) 게임을 만들어보고 있습니다. 개인적으로 유니티 Unity 에서도 JavaScript 를 통해서 하고 싶었으나 언젠가부터 JavaScript 는 지원하지 않고 C#만 남았다네요..


요즘 대세인 JavaScript 를 따라야지! 제가 몰라서 못쓰고 있는건가요? ㅠ_ㅠ

제가 쓰고 있는 유니티 Unity 버전은 2018.2.6.f1 버전입니다. 혹시나 최신버전에서 JavaScript 로 유니티 Unity 스크립트 작성이 가능하면 방법좀 알려주세요. 진지합니다.. ㅋㅋ


반응형