-
[TIL] 15주차 5일 오류개선개발일지/스파르타 코딩클럽 부트캠프 2024. 7. 26. 19:41
발생한 문제
스킬을 보유하고 있지 않을 때 스킬을 사용하면 플레이어가 멈추는 문제
이 부분은 내가 따로 예외 처리를 안해줘서 생긴 문제였는데
public override void Enter() { Debug.Log("start1Skill"); stateMachine.Player.isSkillActive = true; base.Enter(); if(stateMachine.Player.firstSkillSlot == true) { if (stateMachine.Player.playerEquipSkill[0] == null) return; index = 0; } else { if (stateMachine.Player.playerEquipSkill[3] == null) return; index = 3; } if (index == 99) return; if(stateMachine.Player.healthSystem.CurrentMana < stateMachine.Player.playerEquipSkill[index].MPCost) { stateMachine.ChangeState(stateMachine.IdleState); } SkillAnimationSelect(index); }
조금 하드코딩의 느낌이 있지만,, 이 방법 외에는 떠오르지 않았다.
먼저 스킬 슬롯 스왑기능이 있기 때문에 한 칸에 두개의 스킬이 들어갈 수 있는데
그렇기 때문에 해당 인덱스가 null일 경우에는 return해준다.
그리고 index 변수 값이 없어서 nullreperence 오류가 계속 발생했기 때문에
index 초기값을 99로 잡아준 후 index를 필요로하는 부분 전에 index가 99와 같다면 반환을 시켜서
index에 변화값이 없으면 스킬 사용을 하지 않도록 코드를 추가해주었다.
'개발일지 > 스파르타 코딩클럽 부트캠프' 카테고리의 다른 글
[TIL] 16주차 3일 기술 면접 대비 (0) 2024.08.01 [TIL] 16일차 1일 기술 면접 대비 (0) 2024.07.30 [TIL] 15주차 4일 트러블슈팅 FSM을 사용하며 일어난 문제들 (0) 2024.07.26 [TIL] 15주차 3일 기술 면접 대비 (0) 2024.07.24 [TIL] 15주차 2일 타임라인을 활용한 컷씬 제작 (0) 2024.07.23