이전편 참고해주세요!
2024.04.08 - [Unity/2D] - [Unity/2D] 랜덤 정렬한 값을 카드에 넣어주기 - GetComponent
초반에 이미지들을 원래 하나하나 설정해줬는데 이번에는 코드를 통해서 이미지를 받아올 것입니다.
방법은 여러가지가 있지만 이번편에서는 Resources 폴더를 활용해보겠습니다. (유니티에서 제공하는 기능)
우선 Resources 폴더를 만드는데 스펠링 틀리시면 안됩니다!
Images 폴더 안에 있던 rtan 이미지들은 Resources 폴더 안으로 이동해주고, Images 폴더는 삭제합니다.
public class Card : MonoBehaviour
{
int idx = 0;
public SpriteRenderer front;
public void Setting(int number)
{
idx = number;
front.sprite = Resources.Load<Sprite>($"rtan{idx}");
}
}
Resources.Load<Sprite>($"rtan{idx}");
Card.cs에서 리소스 폴더 안의 이미지를 불러오는 코드입니다.
<> 안에는 자료형을 넣어주면 되는데 rtan 이미지의 자료형은 Sprite입니다.
() 안에는 이미지의 경로를 넣어주면 되는데, Resources 바로 밑에 넣어줬기 때문에 생략하고 바로 이미지 이름을 적어주면 됩니다.
($"rtan{idx}")
"rtanidx" 라고 적으면 그냥 문자열이기 때문에 변수값이 들어가게 해주어야합니다.
그러기 위해서 $를 맨앞에 적어주고, {}안에 변수명을 적어주면
rtan0, rtan1, rtan2, ... 이런식으로 값이 들어가게 됩니다.
이것을 문자열 보간이라고 합니다.
Card 프리팹을 더블 클릭해서 안에 있는 Front를 끌어다가 스크립트에 넣어주었습니다.
플레이를 해보면 이미지가 잘 들어간 것을 확인할 수 있습니다.
다음은 카드를 뒤집는 기능을 구현해보겠습니다~
'스파르타 게임개발종합반(Unity) > 사전캠프 공부 기록' 카테고리의 다른 글
[Unity] 카드 판정 시스템 - Invoke, public, this, 싱글톤 (0) | 2024.04.09 |
---|---|
[Unity/2D] 카드 뒤집기 - Button (0) | 2024.04.08 |
[Unity/2D] 랜덤 정렬한 값을 카드에 넣어주기 - GetComponent (0) | 2024.04.08 |
[Unity/2D] 랜덤 정렬 - OrderBy, OrderByDescending, ToArray, Random.Range (0) | 2024.04.08 |
[Unity/2D] 코드로 간격있게 카드 배치하기 (0) | 2024.04.05 |
댓글