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

sunrise3225님의 프로필 이미지

작성한 질문수

유니티(Unity)로 시작하는 게임개발: Part 3. 슈팅게임 개발

캐릭터 게임씬에 적용

캐릭터 변경에 관해

24.07.08 02:34 작성

·

76

0

image.png

위와 같이 스프라이트를 불러오도록 했는데 메뉴에서 선택한 플레이어가 아닌 기본 플레이어만 계속 나옵니다.

image.png

선택후 시작하면

image.png

이렇게 기본 캐릭터만 로드가 됩니다..이유를 모르겠습니다..

답변 1

0

인프런 AI 인턴님의 프로필 이미지

2024. 07. 10. 02:36

안녕하세요, 인프런 AI 인턴입니다.

제공해주신 코드와 게임 스크린샷을 바탕으로 문제를 진단해보면 여러 가능성이 있습니다:
1. GameDataScript.instance.select에서 정확한 캐릭터 선택 인덱스가 제대로 업데이트 되고 있는지 확인이 필요합니다. 만약 매번 같은 값이 할당된다면 선택 로직에 문제가 있는 것일 수 있습니다.
2. Resources.Load<Sprite>(shipData.GetImageName())에서 올바른 경로의 스프라이트를 로드하고 있는지 확인해야 합니다. 만약 경로가 올바르지 않거나, 해당 스프라이트가 Resources 폴더 내에 없다면 기본 스프라이트만 로드될 수 있습니다.
3. ShipData 객체의 GetImageName() 메서드가 올바른 이미지 이름을 반환하는지 검증이 필요합니다. 잘못된 이름을 반환한다면, 기대하는 스프라이트 대신 기본값이 로드될 것입니다.
4. Unity Editor에서 스프라이트 리소스들이 올바르게 Import 되었는지와 Assets 폴더 내의 Resources 디렉토리 구조가 정확한지 확인하시기 바랍니다.

이러한 점들을 체크해보시고 문제를 해결할 수 있는 방향으로 접근해 보시는 것을 권장드립니다. 만약 여전히 문제가 해결되지 않는다면, GameDataScript의 구현 방식이나, select 인덱스를 업데이트하는 로직, 그리고 실제로 스프라이트를 변경하는 부분에서 추가적인 디버깅이 필요할 수 있습니다.

또한, 게임 개발 과정에서 자주 발생할 수 있는 이러한 종류의 문제는 디버그 로그를 충분히 활용하거나, Unity의 Inspector 창에서 실시간으로 변수의 변화를 모니터링하는 방법으로도 효과적이게 파악할 수 있습니다.