어제 팀원님들의 프로젝트를 합치고 오늘 또 각자 다음을 만들기 시작했습니다.
팀원님들과 역할을 분담하기로 하였습니다.
나누어드린 역할은 아래와 같습니다.
Task 1. Board.cs 카드 생성 때 초기 위치로 뿌려지는 애니메이션 해보기
Task 2. GameManager.cs 에서 클리어 시 PlayerPrefs를 이용하여 "bestStage" 라는 이름에 정수형으로 최고 클리어 스테이지 넣어보기. 이후 EndScene로의 씬 전환
Task 3. Button.cs에서 PlayerPrefs를 이용하여 "bestStage" 라는 이름의 정수형 데이터를 받아와서 스테이지 버튼 동작 활성화/비활성화
팀원님들께서 프로젝트를 진행하시는 동안 저도 겹치지 않게 작업을 시작했습니다.
1. 팀원 정보 씬 수정
업적 달성으로 팀원님 정보 해금한다는 계획에 맞춰 하나씩 해금할 수 있도록 구조를 만들었습니다.
2. 오디오
+ TitleScene에서 브금이 나오지 않으니 조치 완료
+ DontDestroyOnLoad() 를 걸었기에 씬이 바뀔 때 bgm을 다시 시작하지 않는 문제 해결
팀원님들 작업이 끝나고 프로젝트를 합치면 해당 부분에 들어가는 bgm, sfx 넣을 예정 (밤에 진행)
3. 엔딩 씬
1) MainScene끝날 때 성공/실패를 엔딩씬으로 넘겨줘서 상황에 알맞는 bgm, 버튼들이 출현하게끔 조치
2) 성공 시 보여줄 불꽃놀이 효과는 만드는 중
3) 엔딩씬 꾸미기도 진행 예정
작업물을 합친 이후에 발생한 에러들에 대해서도 다뤄보겠습니다.
4. 에러!!!
1) 스테이지 버튼이 해금되지 않던 문제 해결
플레이어가 클리어한 bestStage의 값에 1을 더하여 nextStage로 만들어 다음 스테이지의 버튼까지 해금되게끔 논리 해결
2) 무한 루프 해결
팀원님 중 한 분이 유니티가 멈추는 현상이 있다고 하여
함께 중단점을 활용한 디버깅을 하며 무한 루프를 해결하고
중복되지 않는 이미지 뽑기에 성공하였습니다.
3) 치트 생성
팀원님의 요청을 받아 테스트를 원활하게 하기 위한 치트를 만들었습니다.
그리고 인스펙터에 값을 출현하게 하는 조건 및 이를 조절하여 테스트하는 방법을 알려주었습니다.
(public 과 [SerializeField])
4) 남은 시간이 마이너스
텍스트에 들어가는 문자열이 0.0f가 들어갈 때를 기준으로 게임을 종료하여 기존에는 문제가 없었습니다.
하지만 치트를 넣어 남은 시간을 바로 0으로 만드니 걸러내지 못하고 마이너스 값으로 변하여
0 미만이면 클리어에 실패하게끔 조건을 유연하게 변경하였습니다.
5) 시간아 멈춰라!
사전 강의에서 게임 클리어 때 타임스케일을 0으로 만들어 주었기에 그대로 진행하였습니다.
다만, 여기서 문제가 여럿 발생하게 되었는데
타임스케일이 0이 된 이후 실행하는 인보크, 코루틴에서 메서드 내용이 진행되지 않게 되어
이를 해결하는 방법을 설명해 주었습니다.
유니티) 일시 정지 상태의 게임에서 무언가 진행되도록 하고 싶다면?
보통 일시 정지 기능을 위해 Time.timeScale을 0으로 조절했다가풀어줄 때 1로 원상 복구해주는 기능을 주로 씁니다. 게임을 만들다 보면일시 정지 도중에 게임 재개까지 카운트를 센다던지,정지 도
ybbro.tistory.com
이외에도 여러 사소한 버그 픽스를 함께 진행하여
오늘 작업한 부분까지 정상 구동에 성공하였습니다.
'스파르타코딩클럽_Unity개발과정' 카테고리의 다른 글
4/14 C# 문법 강의 1주차 + 코딩 테스트 Day1 (0) | 2025.04.14 |
---|---|
4/11 미니 팀 프로젝트 (4) 마무리, 플레이 영상, 발표 감상 (0) | 2025.04.11 |
4/9 1주차 팀 프로젝트 (2) 와이어그램, 씬 배치, 버전 문제 해결, 팀원 정보 씬 작성 (0) | 2025.04.09 |
4/8 오전 자율 학습, 오후 팀 프로젝트 시작 및 필수 과제 준비 (0) | 2025.04.08 |
4/7 1주차 미니 프로젝트 - 미리 생각해보기 (0) | 2025.04.07 |