1. 오늘의 내용
카드 뒤집기를 제작한다.
1부터 10까지 다 쓰는 것은 아니고, A기능을 구현하는데 어떻게 하더라~같은 느낌으로 쓸 예정이다.
2. 실습 내용
일단 결과물부터 확인해보자.
카드를 뒤집으면, 앞면이 나오고, 맞으면 사라진다!
그 중 카드는 랜덤으로 뽑힌다.
카드는 분명 prefabs일 것이다.
그럼 여기에 쓰인 prefabs의 수는?
@: 앞면이 같은 카드가 2장씩 있잖아. 총 카드가 16장이니 카드 프리팹의 종류는 8개 아닌가?
정답: 아니다. 1개다.
그렇게 해도 안될…건 없겠지만. 복사 붙여넣기 복사 붙여넣기…는 귀찮다. 그보다도 양이 많다. 20장만 되어도 10개는 찍어내야한다.
그런데, 이걸 가볍게 돌리는 방법이 있다.
(그리고 난 여기서 왜 게임 내부에 Resources 폴더가 있는지, 그 폴더 안에 파일 이름들이 이름n으로 작성되어있는지 깨달았다. (*n은 숫자) )
먼저, 스파르타에서 준 이미지 파일들을 보자.
작업한다고 전부 Resources 폴더에 넣어두긴 했는데, 보면 rtan0~rtan7까지 적힌 걸 볼 수 있다.
같은 르탄이니까 0부터 7까지 쓴 거라고 그냥 막연하게 생각했는데….
public void Setting(int number)
{
idx = number;
frontImage.sprite = Resources.Load<Sprite>($"rtan{idx}");
}
여기서 사용하는 걸 보고 이해했다.
아, 이래서 0부터 번호를 넣는거구나.
Q. 그래서 저 코드의 의미가 뭔데요?
A. 유니티 안에 있는 기능입니다. Resources.Load<데이터종류>를 통해, Resources폴더 안에 있는 파일을 파일명으로 불러오는 기능이죠.
즉, 저 코드를 간단히 해석하자면, frontImage로 명명된 sprite 파일에다가 rtan(넘버링) 파일을 불러오는 것이다.
idx(int 데이터)에 0이 입력되었다면 rtan0이, idx에 4가 입력되면 rtan4파일이 불려지는 것.
한 캐릭터의 파일을 넘버링으로 호출할 수 있고, prefabs를 여러 개 찍을 필요도 없으니 일도 줄어든다.
물론, 저걸 쓰기 전에 public SpriteRenderer frontImage; 를 이용하여 SpriteRenderer를 호출하는 걸 잊지 말도록 하자.
3. 오늘의 오류
분명 버튼을 넣었고, 버튼을 눌러야 카드가 오픈되는 구조로 만들었는데.
한 곳을 누르니까, 계속 버튼을 누를 때마다 카드가 차례대로 까이는 오류.
처음엔 이유를 몰랐다.
사유: 코드 제대로 넣었다. 애초에 코드 내에서 '차례대로 패를 공개하는' 코드따위 존재하지 않았다. 버튼을 눌러야 작동하도록 되어있었으니 '버튼의 범위'가 오류가 났다고 봐야한다.
그런데 버튼에 오류? …오류 날 게 어디있지? 캔버스 크기에 맞추고…다 맞췄는데….
그리고 내 머리에 정답이 안 떠오를 때는 팀원에게 물어보는 게 답이다. 깔끔하게 위의 영상을 보내드리고, help를 외쳤다.
코드에는 문제가 없으니 답은 unity. 그렇게 prefabs를 함께 확인해본 결과.
버튼의 범위가 말도 안되게 넓다. 그런데 저 칸에는 마땅히 사이즈라고 할 것이 없다.
찾았다!
그렇다, 범인은 이 놈이었다.
오류 당시의 사이즈. 사이즈가 화면 사이즈랑 똑같은 걸 알 수 있다.
이걸 100*100(하얀 상자 사이즈)으로 조정해주자.
딱 맞는다.
정말…간단한데 어이없는 오류였다.
하지만 이렇게 마주했으니, 다음에 또 뭔가 이상하면 더 세세하게 살펴볼 수 있을 것이다. 좋게 생각하자.
4. 내일 할 일
사실 오늘 카드 뒤집기를 열심히 한 이유가 있다.
이유는 바로 팀 프로젝트. 첫주차 미니 프로젝트의 게임이 카드뒤집기이다.
개인 스테이지를 만들어보기 위해서라도, 내일도 카드 뒤집기를 한 번 뒤적이고 코드 조정도 해볼 예정이다.
'Unity_본캠프' 카테고리의 다른 글
[내일배움캠프 1주차] 1주차 정리 (1) | 2025.04.13 |
---|---|
[내일배움캠프 5일차] 쉬어갑시다? 코루틴 (2) | 2025.04.11 |
[내일배움캠프 4일차] 브금을 깔자 (1) | 2025.04.10 |
[내일배움캠프 3일차] 카운트 다운 (1) | 2025.04.09 |
[내일배움캠프 2일차] Github (3) | 2025.04.08 |