인프런 커뮤니티 질문&답변

JOONBUM님의 프로필 이미지

작성한 질문수

유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지

아이템 장착 Pt.2 (UserInventoryData, EquippedItemSlot, InventoryUI)

아이템 장착 Pt.1 ~ Pt.2 파트 문의

해결된 질문

24.08.09 17:41 작성

·

145

·

수정됨

1

안녕하세요 선생님

유니티 왕초보 질문 드립니다.

강의 수강 도중 Pt.1 마지막 부분 Equipment UI 창 부분에서

아이템 클릭 시 모든 아이템의 백그라운드 이미지가 Legendary(빨강색)로 설정되어 있는 것으로 보이는데요,

Pt.2 파트로 넘어오니 작업한 게 없는거 같은데 각 아이템의 백그라운드 이미지가 등급에 맞게 조절되어 있는거 같습니다.

현재 Pt.4 파트 수강 중인데 아이템 장착 / 탈착 시

image.png


각 파츠에 EquippedItemIcon이 제대로 표기되지 않는거 같아 문의드립니다.

답변 4

1

ACACIA님의 프로필 이미지

2024. 08. 11. 20:33

마음고생 하셨네요.


안그래도 분기 처리가 긍정문이었다가 부정문이었다가 왔다갔다 하는 것 같습니다. 강사님 입장에선 이것도 되고 저것도 된다고 표현해주시는 것 같아요.

유사하게 치면서도 개선 할 수 있는 부분들 판단해서 하는 것도 코딩 연습에 도움이 많이 될 것으로 보입니다.

특히 얼리 리턴 패턴도 적용 할 곳이 꽤나 있네요!! 코드 복기 하면서 하기에 좋아보입니다. 그렇게 중간중간 안되던 오류도 찾아내구요.

괜히 제가 댓글 남겨서 강사님이 지나쳐가신 것으로 보이네요.

화이팅입니다.

BurningCarrot님의 프로필 이미지
BurningCarrot
지식공유자

2024. 08. 11. 21:09

안녕하세요! BurningCarrot입니다.

다른 수강생의 질문을 같이 고민하고 답을 찾아주셔서 감사합니다. 강의 내용에 대해 질문이 있으시다면 언제든지 편하게 질문 부탁 드립니다.

JOONBUM님의 프로필 이미지
JOONBUM
질문자

2024. 08. 11. 22:33

많은 점들 알려주셔서 감사합니다.

제 실력이 많이 부족하여 더 노력해야 할 거 같습니다.

말씀해 주신 부분들 연습해 보겠습니다!

1

JOONBUM님의 프로필 이미지
JOONBUM
질문자

2024. 08. 11. 20:21

드디어 찾았습니다.

UserInventoryData.cs 파일의 EquipItem 함수에서

        var itemData = DataTableManager.Instance.GetItemData(itemId);
        if (itemData == null)
        {
            Logger.LogError($"Item data does not exist. ItemId:{itemId}");
            return;
        }

이부분에 if (itemData != null) 로 되어있어 EquipItem 함수가 제대로 호출되지 않았었습니다. 이제 착용 잘 됩니다. 감사합니다!!

 

스크린샷 2024-08-11 201840.png

 

BurningCarrot님의 프로필 이미지
BurningCarrot
지식공유자

2024. 08. 11. 21:07

안녕하세요! BurningCarrot입니다.

원인을 찾으셨다니 다행입니다. 아이템 이미지가 표시되지 않을 이유가 없어 보여 계속 원인을 찾다보니 답변이 늦어졌습니다. 앞으로도 정상적으로 작동하지 않는 기능이 있다면 편하게 질문 부탁 드립니다. 같이 고민해 드리겠습니다.

1

ACACIA님의 프로필 이미지

2024. 08. 10. 21:43

EquippedItemIcon 기본색이 흰 색인것으로 보아...
동일한 사유 같습니다.

setActive(true)는 작동하였으나 백그라운드 이미지는 불러오지 못한 것으로 보입니다.

아마 Texture를 복붙을 하신게 아닐까 조심스럽게 남겨둡니다.

1

ACACIA님의 프로필 이미지

2024. 08. 10. 20:27

지나가던 학생입니다!
동일한 현상이 있었는데 빨간날이라 답이 늦어질까봐 저라두 답 남깁니다.

1. 아이템 클릭 시 모든 아이템의 백그라운드 이미지가 Legendary(빨강색)로 설정되어 있는 것으로 보이는데요,

의 경우 Texture 주소 오류가 있었습니다.

pt1 강의에선 11:10에 "Texture/{itemGrade}" 라고 표기되어 있는데 우리가 사용중인 경로는 Textures입니다.

var gradeBgTexture = Resources.Load<Texture2D>($"Textures/{itemGrade}");

수정하시면 각 등급별로 잘 나올 것으로 보입니다.

2. pt4 저도 들으면서 같이 보겠습니다!

화이팅입니다.

JOONBUM님의 프로필 이미지
JOONBUM
질문자

2024. 08. 11. 20:02

감사합니다!!
이제 아이템이 등급별로 잘 나옵니다.

그런데 아이템 착용 시 아이콘이 보이지 않는 이슈는 그대로입니다.

그래도 도움 많이 주셔서 감사합니다!

또 다른 이슈도 찾아보겠습니다.

JOONBUM님의 프로필 이미지

작성한 질문수

질문하기