오늘은 오전 시간 디버깅을 제외하면 코딩은 거의 하지 않고 조별 보고 겸 발표, 강의에 대한 설문과 피드백을 하고 이후 일정에 대한 공지를 하면서 하루를 마쳤다.
디버깅한 내용은 어제부터 우리를 골먹이던 카드 한개를 고르고 나머지 한개를 고르지 않을 시 5초 후 뒤집히는 카드 효과 적용 후 카드 선택이 여러개가 동시에 되던 문제를 해결했다.
if (gameManager.instance.firstCard == null)
{
gameManager.instance.firstCard = gameObject;
//처음 카드 선택한 시간
flipTime = Time.time;
Invoke("closeCardInvoke", 5.0f);
}
else
{
기존에 카드를 뒤집는 코드의 조건이 다음과 같은데
void closeCardInvoke()
{
transform.Find("back").GetComponent<SpriteRenderer>().color = new Color(255f / 69f, 170f / 255f, 169f / 255f);
anim.SetBool("isOpen", false);
transform.Find("front").gameObject.SetActive(false);
gameManager.instance.isLock = false;
gameManager.instance.firstCard = null;
gameManager.instance.secondCard = null;
Debug.Log("a");
}
이 코드가 null로 바꾸는 부분에서 Invoke로 인해 시간 차로 문제가 발생한다고 생각되어 디버그 로그를 통해 확인해보게 되었다.
Debug.Log를 작성하여 보니 카드가 매칭이 되어 사라졌음에도 카드를 뒤집을 때 closeCard가 2번 불려오고(정상적인 상황) 이때 5초 뒤 뒤집히는 코드가 Invoke 되어 있는 것이 취소되지 않고 실행되어 또 명령이 실행되어 다시 null 상태가 된 것을 확인하였다 (버그 원인)
public bool check = false;
public void openCard()
{
//게임 매니저의 카드 선택시 다른 카드 잠그는 코드 불러오기
if (isSelf || gameManager.instance.isLock)
return;
}
check = true;
Invoke("delaycloseCard", 5.0f);
public void closeCard()
{
isSelf = false;
Invoke("closeCardInvoke", 1.0f);
}
public void delaycloseCard()
{
if (!check)
return;
closeCardInvoke();
}
이와 같은 내용들을 card.cs에 추가하여 invoke 되던 명령문을 취소할 수 있도록 하였다.
이후 조별 발표를 보며 다양한 메모를 남기게 되었다.
더보기
- <다른 조들이 만든 인상적인 기능들 - 이후에 이용 가능할 것들>
- 점수 초기화 버튼
- 시작할 때 카드 한번 다 보여주고 뒤집는 연출!
- 두번째 카드 선택 남은 시간 게이지로 보여주는 연출
- 카드 매칭 때 반짝이 이펙트
- 사운드바로 음량 조절(데이터 저장하여 게임 재시작 시에도 사용)
- 시연 발표 시에도 안 그래도 너무 큰 사운드 작게 조절 할 수 있어서 좋은듯
- 잠긴 스테이지는 자물쇠 아이콘, 다음 난이도 해금 조건은 이전난이도의 ‘클리어’로 하는 게 좋았을 듯
- 엔딩 크레딧
- 게임을 진행하며 모으는 재화 시스템
오늘은 기존에 1주일 간 같이했던 팀원들과 헤어지게 되어 아쉬움을 남기며 하루를 큰일 없이 마무리 했다
'TIL' 카테고리의 다른 글
[TIL]2024-1-2 / 7일차 - 어려웠던 틱택토 게임 만들기 (1) | 2024.01.02 |
---|---|
[TIL]2023-12-29 / 6일차 - C# 기초 공부 복기 (1) | 2023.12.29 |
[TIL]2023-12-27 / 4일차 - 디버깅과 다듬기, 발표 준비 (1) | 2023.12.27 |
[TIL]2023-12-26 / 3일차 - 오디오 매니저 구현과 코드 최적 (1) | 2023.12.26 |
[TIL] 23년 12월 22일 - 2일차 - Git과 추가 기능 (0) | 2023.12.22 |