PlayerPrefs é uma ferramenta da Unity que nos permite salvar dados dentro do nosso jogo, seja da forma mais simples até a mais avançada como um banco de dados.
Nós podemos salvar e recuperar 3 tipos de variáveis: string, float e int.
Isso acaba sendo um problema quando queremos salvar valores como bool, Vector3 ou Vector2 e color.
Mas existe uma forma de você salvar esses valores sem precisar apelar para “gambiarras”.
Te mostrarei aqui hoje sobre o bool e se você quer aprender mais sobre o player prefs temos um artigo completo sobre isso:
https://www.crieseusjogos.com.br/salvar-o-jogo-na-unity/
PlayerPrefs bool | Como salvar números booleanos na unity
1- O que são variáveis booleanas?
2- PlayerPrefs Bool
O que são variáveis booleanas?
Você já parou para se perguntar o que são variáveis booleanas?
Ok, se você já aprendeu sobre programação certamente deve saber que são variáveis que retornam true ou false.
Mas se você for a fundo no assunto saberá que não é bem assim…
As linguagens que nós conhecemos como C#, Python e Java têm como base a linguagem C.
Essa é uma linguagem considerada como um nível mais baixo de todas essas que usamos para criar jogos.
Isso significa que a sua sintaxe e as suas ferramentas estão mais perto da linguagem do computador.
Se você for aprender esse tipo de linguagem verá que não existe o tipo de variável “bool” e isso acontece porque o computador não trabalha com esse tipo de variável.
O que acontece é que a Unity traduz para nós os valores inteiros 1 e 0 para true e false;
Assim fica muito mais fácil para nós que estamos programando.
PlayerPrefs Bool
Então, como o computador não trabalha com variáveis booleanas, não podemos mandar ele salvar esse tipo de variável no computador.
E ai que entra o porque não existe um “playerprefs bool”.
Mas da mesma forma que a Unity traduz para nós os valores true, false para 1, 0 e vice versa, nós também podemos fazer isso.
O que nós vamos fazer é criar 2 funções, uma SetBool e outra GetBool e usaremos o PlayerPrefs Int para fazer as operações.
void SetBool(string Repositorio, bool b) { if (b == true) { PlayerPrefs.SetInt(Repositorio, 1); } if (b == false) { PlayerPrefs.SetInt(Repositorio, 0); } } bool GetBool(string Repositorio) { int a = PlayerPrefs.GetInt(Repositorio); if (a == 1) { return true; } else { return false; } }
Para nós utilizarmos essa função faremos de forma semelhante ao PlayerPrefs:
bool b = GetBool("teste"); SetBool("teste", b);
Artigos Relacionados:
Gostou desse artigo? Temos mais em nosso blog: www.crieseusjogos.com.br
Também temos vídeos toda semana em nosso canal do Youtube: Crie seus jogos – Youtube
Baixe gratuitamente: os passos para desenvolver jogos de sucesso
Seja o primeiro a comentar.