강의를 들으면서 추가해보고 싶은 기능들이 있어서 배운것과 구글링을 이용하여 이해할 수 있는 선에서 기능들을 추가해보았다
-점수가 음수로 내려가지 않게 조정하기
if(totalScore<0)
totalScore = 0;
점수를 더해주는 addScore 함수에 위의 코드를 추가하였다
-게임이 끝나면 떨어지는 빗방울만 멈추는게 아닌 게임 캐릭터도 멈추기
public GameObject rtan;
GameManager 스크립트에 게임 캐릭터 rtan 을 선언하고
유니티에서 gameManager의 Inspector에 rtan을 추가해주고
rtan.GetComponent<rtan>().setDirection(0.0f);
rtan 스크립트에 캐릭터 속도를 수정할 수 있는 set함수를 만들어 게임이 종료되는 시점에 호출해주었다
그리고 게임이 다시 시작되면 잊지 않고 속도를 조정해주었다
-최고점수 표시하기
void BestScore()
{
if(bestScore<totalScore)
{
bestScore = totalScore;
PlayerPrefs.SetInt("BestScore", bestScore);
}
bestScoreText.text = PlayerPrefs.GetInt("BestScore").ToString();
}
GameManager 스크립트에 최고점수를 기록하는 함수를 만들었다
여러 시도 끝에 결국은 구글링을 통해 PlayerPrefs라는 기능을 사용하게 되었는데 이 기능은 유니티에서 제공해주는 데이터 관리 클래스라고 한다 마지막 줄에 playerprefs.GetInt("BestScore") 함수는 데이터에 가리키는 값이 없다면 0을 반환해주는 함수라 쓰기 편했다
문제는 파일에 최고점수가 저장되어 유니티에서 다시 플레이 버튼을 눌러 게임을 실행해도 그 전의 최고점수가 남아있다
이 부분은 좀 더 연구해볼 필요가 있는거 같다
Playerprefs.DeleteKey("KeyName");
그래도 초기화 하는 코드는 미리 알아두었다 !
'개발일지' 카테고리의 다른 글
[왕초보 유니티] 3주차 - 고양이 밥주기 게임 기능 추가 (0) | 2023.08.03 |
---|---|
[왕초보 유니티] 2주차 - 풍선을 지켜라 기능 추가 (0) | 2023.08.03 |
[왕초보 유니티] 3주차 (0) | 2023.08.03 |
[왕초보 유니티] 2주차 (0) | 2023.08.02 |
[왕초보 유니티] 1주차 (0) | 2023.08.01 |