eu fiz um teste, o PlayerPrefs salva os dados, no caso o record , mesmo depois de sair do play game, não seria interessante que sempre quando iniciasse um novo play ele criasse um novo recorde
eu fiz um teste, o PlayerPrefs salva os dados, no caso o record , mesmo depois de sair do play game, não seria interessante que sempre quando iniciasse um novo play ele criasse um novo recorde
O PlayerPrefs realmente grava a informação de maneira "permanente". Isso é muito útil pra certas coisas como definição de resolução de tela e de volume em opções do jogo (é inconveniente o jogador ter que voltar em opções e redefinir as preferências cada vez que for entrar no jogo, né). Esse era o objetivo original quando foi criado o PlayerPrefs, e é de onde deriva o nome (Player Preferences) sendo usado idealmente para variaveis simples (float volume, bool mute, etc). Há outros métodos para se criar arquivos externos para salvar dados mais complexos no unity (por exemplo criar jogos salvos).
MAAaassss, se estiver realmente precisando resetar o PlayerPrefs a cada acesso ao jogo, a maneira mais fácil é de rodar essa linha de comando na função Start() da primeira cena que for rodada quando o jogo abrir:
PlayerPrefs.DeleteAll();
Isso vai limpar as variáveis armazenadas no player prefs, mas terão que ser criadas novamente mais adiante no código. A alternativa se você quiser guardar uma informação só para aquela sessão é criar uma classe abstrata com uma variável estática para armazenar o dado que você quer. Essa variável vai durar até o final da sessão (jogo), e vai limpar quando o programa fechar.
P.S: Se precisar que a classe sobreviva à mudança de cena, ou que qualquer objeto armazenando suas variáveis sobrevivam à mudança de cena, você pode chamar o método "DontDestroyOnLoad(objeto)", e ele sobreviverá à mudança de cena. Só tome cuidado com esse método, porque como o objeto não é destruído, se você voltar à cena que cria o objeto, ele ficará duplicado (ele será criado novamente, mas a instância anterior do objeto permanecerá). Assim, se a mudança de cena não vai destruir o objeto, convém destruí-lo manualmente após utilizá-lo. Por exemplo, se vai usá-lo para guardar estatísticas da última partida, após exibição da estatística, convém invocar o método "Destroy(objeto)" após para removê-lo.
Oi, Danielle, tudo bem?
É como o Andre falou, o objetivo era realmente criar um score permanente pra sempre. Se o seu objetivo for o score daquela partida, não temos a necessidade de usar um local pra gravar, podemos só manter a variável em memoria.