Guest Book
-
Junie 2014.07.19 11:07
안녕하세요 유니티 게임개발에 한창 흥미를 들인 고등학교 1학년 학생입니다.
요새 모바일 게임을 만들고 있는데요, 게임을 구현하는 것은 크게 어렵지 않았는데 한가지 풀리지 않는 숙제가 있네요
어플을 종료했다가 다시 켠 후에도 Best Score 정보가 남아있게 만들고 싶은데 종료후 다시 열면 Best Score 정보가 초기화돼버려요.
제가 지금 만들어놓은것은 static 클래스를 만들어서 점수를 보관하고 전달할 때는 Game 씬에서 GameOver씬으로 PlayerPrefs를 이용해서 전달하고 그 안에서 처리하는 방식으로 만들었거든요
currScore = PlayerPrefs.GetFloat ("currScore" );
if(currScore > PermanentVariables.highScore){
highScore = true; // 출력을 위해 현 점수가 최고점수인지 묻는 변수(최고점수일 경우 NewBest출력)
PermanentVariables.highScore = currScore;
}else{
highScore = false;
}
처음에는 될거라고 생각했는데 이 방법이 안되니까 정말 어떻게 해야할지 감이 오질 않습니다 ㅜㅜ
이런거는 어떻게 해결해야하나요??-
히아레인
2014.07.22 10:53 신고
점수를 저장하실때도 getFloat와 마찬가지로 적용하시면 됩니다.
if(최고점수일때)
{
PlayerPrefs.SetFloat ("highScore", PermanentVariables.highScore);
}
그리고 처음시작시에는 불러올때는
PermanentVariables.highScore =
PlayerPrefs.GetFloat ( "highScore" );
이런식으로 저장된 변수값을 불러오면 됩니다.
그리고 게임내 static 으로 저장된 변수는 게임내에서만 실행됩니다.
getFloat 나 setFloat 함수를 이용한 저장방법은 세이브 파일을 생성해서 저장하는 방식입니다.
어플을 종료해도 데이터가 남으려면 위와 같은 방법으로
저장하고 싶은 변수들을
SetFloat, SetString 함수들을 이용해서 저장을 한후.
GetFloat, GetString 함수들을 이용해서 게임 시작시 저장된 변수들을 불러와 사용해야됩니다.
-


