-
[TIL] 4주차 5일 개인 프로젝트 진행중 ( 탑 다운 뷰 게임 )개발일지/스파르타 코딩클럽 부트캠프 2024. 5. 10. 20:59
오늘 발생한 문제
오늘 개인 프로젝트를 진행하면서 몇 가지 막힌 부분들이 있었다.
일단 필수 구현 과제는 거의 다 하긴 했는데 오래걸린 부분들을 다시 짚어보려한다.
InputField의 text 값을 받아오는 과정
저기 InputField에 플레이어의 이름을 적고
그 이름이 인게임 이름으로 적용이 되어야 하는데
그걸 받아오고 적용하는 과정이 정말 고역같았다.
public void JoinBtn() { playerName = inputField_Name.GetComponent<TMP_InputField>().text; PlayerPrefs.SetString(userName, playerName); bool click = true; while (click) { //플레이어 이름이 2~10글자가 아닐경우 경고메시지 출력 if (playerName.Length > 10 || playerName.Length < 2) { ErrorMessage.SetActive(true); click = false; Invoke("DownError", 3); } else // 아닐 경우 접속 { SceneManager.LoadScene("MainScene"); click = false; break; } } }
플레이어가 적은 이름을 받아와서
2~10글자가 아니면 다시 쓰라고 경고를 올리고
맞으면 그 이름대로 플레이가 되는 함수인데
진짜 몇 글자를 쓰든~ 경고가 뜨는게 미치겠었다 정말
근데 .. 내 진짜 멍청한 실수 하나로 그렇게 오래 잡아놓고 있었던건데
여기서 가장 중요한 부분인
playerName = inputField_Name.GetComponent<TMP_InputField>().text; 부분이
Awake 함수 안에 들어가 있었다.
그로인해 너무 빨리 실행이 돼서 플레이어가 이름을 치기 전에 값을 받아오기 때문에
계속해서 글자수 0의 값을 받아왔던 것..
뭔가 몇 시간동안 진행이 안되다가 해결하면 내 정신을 의심하게 되는 것 같다.
이미지 바꾸기
캐릭터 선택창을 만드는데
캐릭터 한 명만 있는 창을 누르면 여러 캐릭터가 나오고
캐릭터를 고르면 다시 그 캐릭터만 보이게 바뀌게 해야하는데
이게 자꾸 이미지 변환이 안됐다 ..ㅠㅠ 진짜..
public void SelectAngel() { // 천사 선택 시에 캐릭터패널을 다시 내리고 캐릭터 선택 버튼을 천사로 바꾼다. 그리고 캐릭터값 벨류에 1을 보냄 PlayerPrefs.SetInt("character", 1); characterPanal.SetActive(false); characterSelect.GetComponent<Image>().sprite = Resources.Load<Sprite>("angel_idle_anim_f0 1"); }
그러다 내가 간과한 문제가 현재 바꾸려는 이미지가
SpriteRender가 아닌 Image라서 조금 다른 방식으로 접근을 하여 해결했다.
'개발일지 > 스파르타 코딩클럽 부트캠프' 카테고리의 다른 글
[TIL] 5주차 2일 Prefab, Instantiate, Enum (0) 2024.05.14 [TIL] 5주차 1일 개인 과제 진행 ( Animater Override Controller) (0) 2024.05.13 [TIL] 4주차 4일 Input System 그리고 게임수학 ( 오일러, 쿼터니언, 짐벌 락, 아크 탄젠트 ) (0) 2024.05.09 [TIL] 4주차 3일 유니티 입문 주차 ( 유니티 생명주기, 접근 제한자와 직렬화, 계층 구조, 로컬과 월드 좌표 ) (0) 2024.05.08 [TIL] 4주차 2일 두 번째 팀프로젝트 완 (0) 2024.05.07