SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Pegar items
Erro Build il2cpp
Meu game para Android " As aventuras de Steff " finalizado, ou quase!
[Duvida] Sobre Namespace
Pular e atirar
[Projeto] Omega Racers
O nome não existe no contexto atual
Como instanciar APENAS um objeto ?
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Procuro interessados para entrar no grupo "Goodbye Reality Studio"!
[Duvida] Acesso a Classes no C#
duvida player quicando ao descer desnivel
[RESOLVIDO] Animação de abrir/fechar porta mais complexa
Duvida Tamanho do Mapa unity
Procura-se equipe para jogo de puzzle em 3º Pessoa
Duvida com API Vulkan Vs OpenGL -- Unity !!!!
duvida sobre essa Ui e raycast
[TUTORIAL] Colocando Dark Theme Na Sua Unity [Qualquer Versão]
A unity não abre o projeto!!
Nitro para Carro
Firebase (Login com facebook)
Ajuda jogo
cliente/servidor
[Formação de Equipe] - City Driving
Graficos bugados no android Unity 5
[ASSET] Script Arma Completo Incluso Recuo. Incluso outros Scripts
Clicar em um Sprite e realizar uma ação
[TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
Ajuda com Colisões
mudar objeto ao clicar nele
Ajuda com um script(SmoothCamera)
Duvida em Desenhar UI -- HELP
Finalização Calculadora, fazer com que o jogador tente novamente
Como colocar musicas em um app?
[Duvida] Sobre Reference Resolution -> (Canvas)
Como criar navegador próprio em app?
[RESOLVIDO] Duvida sobre Edição de texto em imagem
Da pra criar Apps na Unity?
BUG MT CHATO. USANDO O PlayerPrefs. ME AJUDAAAAAAA PF
[RESOLVIDO] Camera não colide com parede
Há algum segredo em criações de I.A?
[RESOLVIDO] salvar as configurações para aparecer no game certo que o jogador configurou
Dica de estudos
[RESOLVIDO] Duvida Sobre C#
Script parando de funcionar quando maximizo a tela do game
Fazer uma seleção de personagens e seguir para o jogo com o personagem escolhido
Como faço para colocar unity em rede
personagem
Criar animações
Detectar movimento Joystick
tem como abrir arquivos de jogos já compilado?
Como criar rede neural para AI
[____ADMINISTRAÇÃO____] Gostaria da opinião de vocês...
[____ADMINISTRAÇÃO____] Alterações IMPORTANTES no fórum.
Navegador reiniciando no mobile dos IOS [WEBGL]
[RESOLVIDO] Dúvida Script OnTriggerEnter
Gerar APK
[TUTORIAL] Salvar dados com playerprefs facilmente.
É possível reproduzir som durante logo de abertura do jogo?
[TUTORIAL] Criação de Skins Realistas em 3D!
Command 888
Sistema de Yu-Gi-Oh - C O M P L E T O - Download 13/08
[RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY
Construção de um save das configurações e ir pro jogo com as config certas
Podem me ajudar com esse problema
Contagem de tempo em classes abstratas
[TUTORIAL] Controle 3ª pessoa com animações mecânicas (root motion)
[RESOLVIDO] Como mostrar o valor atual de uma variável do tipo Int em um text
Como se faz um dash?
Como permitir que o usuário escolha uma imagem para ser usada em um jogo?
[Projeto em Andamento] Favela Combat - Multiplayer online (Android & iOS)
[TUTORIAL] Sistema Pdv, Mercado, Padaria, Conveniência, Lojas Em Geral - C# VISUAL STUDIO
Diferenciar execução (mobile / desktop) WEBGL
Como mudar de camera assim que o player entrar no Trigger
WEBGL
Como faço para mover um objeto?
[TUTORIAL] Unity 5 - Sistema Completo de PORTAS E CHAVES
Ajuda em bug da Unity!
como mudar o material de um mesh que tem mas de 1 material por Script ?
[Duvida] Como funciona a coleta de dados e como é feito?
Teclado na Unity
Formação de equipe -- ASSALTO A BANCO--
Câmera estar limitada ao tamanho da tela
ESCOLA DE DESENVOLVIMENTO DE GAMES.
Mudar uma animação já existente com o clique em um botão UI
Cam
[RESOLVIDO] Minha imagem só aparece na scene
COMO EXPORTAR PARA IOS COM WINDOWS
Criei uma Grama com Shader Graph
[TUTORIAL] Mover personagem com Touch, no estilo SUBWAY SURFERS
Joystick
Limite Máximo de tamanho de mapa na Unity?
Jogo Mobile (Leia)
Entender um script
[RESOLVIDO] Como Ativar Objeto Apenas na Frente Dele?
POR QUE O TOUCH MOBILE TRAVA COM ADMOB?
Qual o Tempo Máximo que vocês Jogaram um Jogo ?
Tocar audio
Todos os veiculos mudando de cor no multplayer, como resolver ?
Hoje à(s) 2:04 am
Ontem à(s) 11:48 pm
Ontem à(s) 10:10 pm
Ontem à(s) 7:58 pm
Ontem à(s) 6:23 pm
Ontem à(s) 1:53 pm
Ontem à(s) 1:30 pm
Ontem à(s) 2:04 am
Ter Ago 20, 2019 11:11 pm
Ter Ago 20, 2019 9:26 pm
Ter Ago 20, 2019 8:36 pm
Ter Ago 20, 2019 7:46 pm
Ter Ago 20, 2019 2:45 pm
Ter Ago 20, 2019 9:39 am
Ter Ago 20, 2019 5:55 am
Ter Ago 20, 2019 2:35 am
Ter Ago 20, 2019 1:46 am
Ter Ago 20, 2019 1:08 am
Seg Ago 19, 2019 11:52 pm
Seg Ago 19, 2019 6:32 pm
Seg Ago 19, 2019 6:22 pm
Seg Ago 19, 2019 2:25 pm
Seg Ago 19, 2019 11:47 am
Dom Ago 18, 2019 9:40 pm
Dom Ago 18, 2019 7:08 pm
Dom Ago 18, 2019 5:33 pm
Dom Ago 18, 2019 3:16 pm
Sab Ago 17, 2019 11:23 pm
Sab Ago 17, 2019 3:16 am
Sex Ago 16, 2019 11:27 pm
Sex Ago 16, 2019 8:50 pm
Sex Ago 16, 2019 12:19 pm
Sex Ago 16, 2019 12:07 pm
Sex Ago 16, 2019 10:58 am
Sex Ago 16, 2019 6:33 am
Qui Ago 15, 2019 6:42 pm
Qui Ago 15, 2019 4:02 pm
Qui Ago 15, 2019 12:10 pm
Qui Ago 15, 2019 11:57 am
Qua Ago 14, 2019 7:13 pm
Qua Ago 14, 2019 6:07 pm
Qua Ago 14, 2019 5:48 pm
Qua Ago 14, 2019 5:18 pm
Qua Ago 14, 2019 5:05 pm
Qua Ago 14, 2019 5:00 pm
Qua Ago 14, 2019 4:56 pm
Qua Ago 14, 2019 4:53 pm
Qua Ago 14, 2019 4:52 pm
Qua Ago 14, 2019 4:49 pm
Qua Ago 14, 2019 4:47 pm
Qua Ago 14, 2019 4:45 pm
Qua Ago 14, 2019 4:44 pm
Qua Ago 14, 2019 4:35 pm
Qua Ago 14, 2019 4:32 pm
Qua Ago 14, 2019 4:31 pm
Qua Ago 14, 2019 4:10 pm
Qua Ago 14, 2019 12:39 am
Ter Ago 13, 2019 10:23 pm
Ter Ago 13, 2019 10:03 pm
Ter Ago 13, 2019 7:53 pm
Ter Ago 13, 2019 6:33 pm
Ter Ago 13, 2019 4:26 pm
Ter Ago 13, 2019 4:10 pm
Seg Ago 12, 2019 11:25 pm
Seg Ago 12, 2019 8:31 pm
Seg Ago 12, 2019 6:17 pm
Seg Ago 12, 2019 12:51 pm
Dom Ago 11, 2019 7:54 pm
Dom Ago 11, 2019 10:17 am
Sab Ago 10, 2019 10:32 pm
Sab Ago 10, 2019 2:34 pm
Sex Ago 09, 2019 10:43 pm
Sex Ago 09, 2019 5:56 pm
Qui Ago 08, 2019 7:48 pm
Qui Ago 08, 2019 5:21 pm
Qui Ago 08, 2019 12:32 pm
Qui Ago 08, 2019 2:53 am
Qua Ago 07, 2019 10:57 pm
Qua Ago 07, 2019 8:10 pm
Qua Ago 07, 2019 7:16 pm
Qua Ago 07, 2019 4:29 pm
Qua Ago 07, 2019 2:51 pm
Seg Ago 05, 2019 11:24 pm
Seg Ago 05, 2019 9:51 pm
Seg Ago 05, 2019 8:48 pm
Seg Ago 05, 2019 8:33 pm
Seg Ago 05, 2019 7:36 pm
Seg Ago 05, 2019 6:23 pm
Seg Ago 05, 2019 5:31 pm
Seg Ago 05, 2019 5:27 pm
Seg Ago 05, 2019 2:35 am
Seg Ago 05, 2019 2:27 am
Dom Ago 04, 2019 7:37 pm
Dom Ago 04, 2019 4:25 pm
Dom Ago 04, 2019 3:58 pm
Dom Ago 04, 2019 3:44 pm
Dom Ago 04, 2019 4:50 am
Dom Ago 04, 2019 4:39 am
Dom Ago 04, 2019 4:37 am
rafaelllsd
numb123
SergioDB
nibirou
MarcosSchultz
guimaraf
Hamassfall
ruanzikaad
Tegh
PedroSilva
Matrirxp
MarcosSchultz
ovoPentelho
billybmx
artplayer
MarcosSchultz
MarcosSchultz
nibirou
MarcosSchultz
HeroSword
Zack2
richerd
Valakinhas
artplayer
MarcosSchultz
Jhonyzin
MayLeone
Callyde Jr
MarcosSchultz
MayLeone
rafaelllsd
SteveRogers
lucaspoiob
Daniel Dória
nibirou
Daniel Dória
nibirou
Daniel Dória
daniel123163
SergioDB
Projeto Residentes Evil
lucaspoiob
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Dionilson
guimaraf
rafaelllsd
artplayer
Diguinho
Callyde Jr
MayLeone
lucaspoiob
Unidade3d5
MayLeone
MayLeone
dstaroski
RodriGO3477
SteveRogers
artplayer
dkrazor
Chilinger
numb123
Matrirxp
MarcosSchultz
Lonx SpellArtsStudio
MarcosSchultz
SteveRogers
ffabim
poyser
artplayer
artplayer
joffersoju
rafaelllsd
RodriGO3477
MarcosSchultz
Hamassfall
gtcmcsgo
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
iToddy
MayLeone
LardosJogos
artplayer
MarcosSchultz
MarcosSchultz
MarcosSchultz

[TUTORIAL] Salvar dados com playerprefs facilmente.

Ir em baixo

TUTORIAL [TUTORIAL] Salvar dados com playerprefs facilmente.

Mensagem por rafaelllsd em Ter Jan 15, 2019 10:00 pm

Olá, hoje compartilho com você um script que fiz algum tempo para dar suporte quando for salvar alguma variavel com PlayerPrefs. Este script facilita salvar pois ele possui comandos simples e rapidos para salvar, utilizando void's publicas para salvar e funções para recarregar os valores salvos. Este script salva os seguintes tipos de variáveis:

- Float,
- Int,
- Bool,
- String,
- Double,
- Vector2,
- Vector3,
- Quaternion,
 
 Salvando também todos esses tipos de variaveis em formato de Array, Float[], Int[]...

 Para utilizá-lo, você deve criar um script com o nome "PlayerPrefsEasySave", copiar o código abaixo e colar no script criado, após isso você deve trocar a classe do script do seu Save de:

MonoBehaviour
[TUTORIAL] Salvar dados com playerprefs facilmente. AEHKsr6

Para: PlayerPrefsEasySave
[TUTORIAL] Salvar dados com playerprefs facilmente. D00ReAq


 Após fazer esse passo seu script de save terá dois novos elementos, um Enum contendo o nome da extensão que você irá usar para salvar seus dados, nessa versão do script esta disponível apenas o PlayerPrefs, e uma variável Int para você colocar o ID de sua cena (Isso é utilizado para poder salvar as mesmas Chaves independente da cena).
 Agora seu script já tem as void's e funções necessárias para utilizar o novo modo de save e load, partimos agora para aprender como usar esse script.

Para salvar qualquer tipo de variável você deve escrever a palavra "save" e encontrar o tipo de variável que você deseja salvar:
[TUTORIAL] Salvar dados com playerprefs facilmente. KEmkCt1

No caso iremos salvar uma variável float, com o seguinte código:
Código:
public float money;

 void Start () {
 SaveFloat ("Money", money); //Quando a void for chamada ela precisa do nome da Chave que você irá salvar e a variável
                                           //que deseja salvar... SaveFloat(Chave, Variável);
 }

E para carregar o valor salvo deve se usar o mesmo comando, mas ao invés escrever "save" na busca, você deve primeiro colocar a sua variável antes do código de load e um sinal de igual (=), lógo após, deve escrever "Load" e encontrar a variável que deseja recarregar, no caso uma float:
Código:
public float money;

 void Start () {
 money = LoadFloat ("Money"); //Quando a função de load for chamada ela precisa ser preenchida com apenas o nome da Chave
                                            //que você salvou anteriormente... LoadFloat(Chave);
 }

Lembrando, o nome de cada chave deve ser unica, ou seja, você não pode salvar duas variáveis com o mesmo nome na Chave, independente de serem variáveis diferentes. Apenas em cenas diferentes que podem ser salvas chaves iguais (com este script de save).

O mesmo você faz com outros tipos de variável que não sejam Array:
Código:
void Start () {
 //Salvar
 SaveFloat ("Chave", valorFloat);
 SaveInt ("Chave", valorInt);
 SaveBool ("Chave", valorBool); //0 ou 1
 SaveDouble ("Chave", valorDouble);

 //Carregar
 variavelFloat = LoadFloat ("Chave");
 variavelInt = LoadInt ("Chave");
 variavelBool = LoadBool ("Chave");
 variavelDouble = LoadDouble ("Chave");
 }


Para salvar Array, praticamente é o mesmo jeito, mas com um requerimento a mais na hora de salvar:

Código:
public Vector3[] checkpoints;

 void Start () {
 SaveVector3Array ("Checkpoints", checkpoints, checkpoints.Length); //Quando a void save for chamada ela precisará
                                                                                  //de 3 informações ("Chave", Array, TamanhoDaArray);
 }

E para carregar os dados, você irá utilizar a mesma forma de quando for carregar uma variável comum:

Código:
public Vector3[] checkpoints;

 void Start () {
 checkpoints = LoadVector3Array ("Checkpoints");
 }

-

Este script necessariamente o suporte é maior quando se trata das Array's, mas para salvar variáveis comuns ela tem um código menor, porém não muito diferente do modo tradicional.

Script de save e load:
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
using System;

public class PlayerPrefsEasySave : MonoBehaviour {
 
 public enum ExtensionType {
 PlayerPrefs,
 }
 public ExtensionType extensionType;
 public int sceneID;

 //Save
 public void SaveFloat (string key, float value) {
 if (extensionType == ExtensionType.PlayerPrefs) {
 PlayerPrefs.SetFloat (key + sceneID, value);
 }
 }

 public void SaveInt (string key, int value) {
 if (extensionType == ExtensionType.PlayerPrefs) {
 PlayerPrefs.SetInt (key + sceneID, value);
 }
 }

 public void SaveBool (string key, bool value) {
 if (extensionType == ExtensionType.PlayerPrefs) {
 PlayerPrefs.SetInt(key + sceneID, Convert.ToInt32(value));
 }
 }

 public void SaveString (string key, string text) {
 if (extensionType == ExtensionType.PlayerPrefs) {
 PlayerPrefs.SetString (key + sceneID, text);
 }
 }

 public void SaveDouble (string key, double value) {
 if (extensionType == ExtensionType.PlayerPrefs) {
 string yString = value.ToString ();
 PlayerPrefs.SetString (key + sceneID, yString);
 }
 }

 public void SaveVector3 (string key, Vector3 vector) {
 if (extensionType == ExtensionType.PlayerPrefs) {
 PlayerPrefs.SetFloat (key + sceneID + "x", vector.x);
 PlayerPrefs.SetFloat (key + sceneID + "y", vector.y);
 PlayerPrefs.SetFloat (key + sceneID + "z", vector.z);
 }
 }

 public void SaveVector2 (string key, Vector2 vector) {
 if (extensionType == ExtensionType.PlayerPrefs) {
 PlayerPrefs.SetFloat (key + sceneID + "x", vector.x);
 PlayerPrefs.SetFloat (key + sceneID + "y", vector.y);
 }
 }

 public void SaveQuaternion (string key, Quaternion quaternion) {
 if (extensionType == ExtensionType.PlayerPrefs) {
 PlayerPrefs.SetFloat (key + sceneID + "x", quaternion.x);
 PlayerPrefs.SetFloat (key + sceneID + "y", quaternion.y);
 PlayerPrefs.SetFloat (key + sceneID + "z", quaternion.z);
 PlayerPrefs.SetFloat (key + sceneID + "w", quaternion.w);
 }
 }

 public void SaveFloatArray (string key, float[] array, int length) {
 for (int x = 0; x < array.Length; x++) {
 PlayerPrefs.SetFloat (key + x + "" + sceneID, array[x]);
 PlayerPrefs.SetInt ("LengthFloat" + sceneID, length);
 }
 }

 public void SaveIntArray (string key, int[] array, int length) {
 for (int x = 0; x < array.Length; x++) {
 PlayerPrefs.SetInt (key + x + "" + sceneID, array[x]);
 PlayerPrefs.SetInt ("LengthInt" + sceneID, length);
 }
 }

 public void SaveBoolArray (string key, bool[] array, int length) {
 for (int x = 0; x < array.Length; x++) {
 PlayerPrefs.SetInt(key + x + "" + sceneID, Convert.ToInt32(array[x]));
 PlayerPrefs.SetInt ("LengthBool" + sceneID, length);
 }
 }

 public void SaveStringArray (string key, string[] array, int length) {
 for (int x = 0; x < array.Length; x++) {
 PlayerPrefs.SetString(key + x + "" + sceneID, array[x]);
 PlayerPrefs.SetInt ("LengthString" + sceneID, length);
 }
 }

 public void SaveDoubleArray (string key, double[] array, int length) {
 for (int x = 0; x < array.Length; x++) {
 PlayerPrefs.SetString (key + x + "" + sceneID, array[x].ToString());
 PlayerPrefs.SetInt ("LengthDouble" + sceneID, length);
 }
 }

 public void SaveVector3Array (string key, Vector3[] array, int length) {
 for (int x = 0; x < array.Length; x++) {
 PlayerPrefs.SetFloat (key + x + "x" + sceneID, array[x].x);
 PlayerPrefs.SetFloat (key + x + "y" + sceneID, array[x].y);
 PlayerPrefs.SetFloat (key + x + "z" + sceneID, array[x].z);
 PlayerPrefs.SetInt ("LengthVector3" + sceneID, length);
 }
 }

 public void SaveVector2Array (string key, Vector2[] array, int length) {
 for (int x = 0; x < array.Length; x++) {
 PlayerPrefs.SetFloat (key + x + "x" + sceneID, array[x].x);
 PlayerPrefs.SetFloat (key + x + "y" + sceneID, array[x].y);
 PlayerPrefs.SetInt ("LengthVector2" + sceneID, length);
 }
 }

 public void SaveQuaternionArray (string key, Quaternion[] array, int length) {
 for (int x = 0; x < array.Length; x++) {
 PlayerPrefs.SetFloat (key + x + "x" + sceneID, array[x].x);
 PlayerPrefs.SetFloat (key + x + "y" + sceneID, array[x].y);
 PlayerPrefs.SetFloat (key + x + "z" + sceneID, array[x].z);
 PlayerPrefs.SetFloat (key + x + "w" + sceneID, array[x].w);
 PlayerPrefs.SetInt ("LengthQuaternion" + sceneID, length);
 }
 }

 //Load
 public float LoadFloat (string key) {
 float load = PlayerPrefs.GetFloat (key + sceneID);
 return load;
 }

 public int LoadInt (string key) {
 int load = PlayerPrefs.GetInt (key + sceneID);
 return load;
 }

 public bool LoadBool (string key) {
 bool load = Convert.ToBoolean(PlayerPrefs.GetInt(key + sceneID));
 return load;
 }

 public string LoadString (string key) {
 string text = PlayerPrefs.GetString (key + sceneID);
 return text;
 }

 public double LoadDouble (string key) {
 string yString = PlayerPrefs.GetString (key + sceneID);
 double value = double.Parse (yString, System.Globalization.CultureInfo.InvariantCulture);
 return value;
 }

 public Vector2 LoadVector2 (string key) {
 Vector2 vector = new Vector3 (PlayerPrefs.GetFloat (key + sceneID + "x"), PlayerPrefs.GetFloat (key + sceneID + "y"));
 return vector;
 }

 public Vector3 LoadVector3 (string key) {
 Vector3 vector = new Vector3 (PlayerPrefs.GetFloat (key + sceneID + "x"), PlayerPrefs.GetFloat (key + sceneID + "y"),
 PlayerPrefs.GetFloat (key + sceneID + "z"));
 return vector;
 }

 public Quaternion LoadQuaternion (string key) {
 Quaternion quaternion = new Quaternion (PlayerPrefs.GetFloat (key + sceneID + "x"), PlayerPrefs.GetFloat (key + sceneID + "y"),
 PlayerPrefs.GetFloat (key + sceneID + "z"), PlayerPrefs.GetFloat (key + sceneID + "w"));
 return quaternion;
 }

 public float[] LoadFloatArray (string key) {
 float[] array = new float[PlayerPrefs.GetInt ("LengthFloat" + sceneID)];
 for (int x = 0; x < array.Length; x++) {
 array [x] = PlayerPrefs.GetFloat (key + x + "" + sceneID);
 }
 return array;
 }

 public int[] LoadIntArray (string key) {
 int[] array = new int[PlayerPrefs.GetInt ("LengthInt" + sceneID)];
 for (int x = 0; x < array.Length; x++) {
 array [x] = PlayerPrefs.GetInt (key + x + "" + sceneID);
 }
 return array;
 }

 public bool[] LoadBoolArray (string key) {
 bool[] array = new bool[PlayerPrefs.GetInt ("LengthBool" + sceneID)];
 for (int x = 0; x < array.Length; x++) {
 array [x] = Convert.ToBoolean(PlayerPrefs.GetInt(key + x + "" + sceneID));
 }
 return array;
 }

 public string[] LoadStringArray (string key) {
 string[] array = new string[PlayerPrefs.GetInt ("LengthString" + sceneID)];
 for (int x = 0; x < array.Length; x++) {
 array [x] = PlayerPrefs.GetString (key + x + "" + sceneID);
 }
 return array;
 }

 public double[] LoadDoubleArray (string key) {
 double[] array = new double[PlayerPrefs.GetInt ("LengthDouble" + sceneID)];
 for (int x = 0; x < array.Length; x++) {
 array [x] = double.Parse (PlayerPrefs.GetString (key + x + "" + sceneID), System.Globalization.CultureInfo.InvariantCulture);
 }
 return array;
 }

 public Vector2[] LoadVector2Array (string key) {
 Vector2[] array = new Vector2[PlayerPrefs.GetInt ("LengthVector2" + sceneID)];
 for (int x = 0; x < array.Length; x++) {
 array[x].x = PlayerPrefs.GetFloat (key + x + "x" + sceneID, array[x].x);
 array[x].y = PlayerPrefs.GetFloat (key + x + "y" + sceneID, array[x].y);
 }
 return array;
 }

 public Vector3[] LoadVector3Array (string key) {
 Vector3[] array = new Vector3[PlayerPrefs.GetInt ("LengthVector3" + sceneID)];
 for (int x = 0; x < array.Length; x++) {
 array[x].x = PlayerPrefs.GetFloat (key + x + "x" + sceneID, array[x].x);
 array[x].y = PlayerPrefs.GetFloat (key + x + "y" + sceneID, array[x].y);
 array[x].z = PlayerPrefs.GetFloat (key + x + "z" + sceneID, array[x].z);
 }
 return array;
 }

 public Quaternion[] LoadQuaternionArray (string key) {
 Quaternion[] array = new Quaternion[PlayerPrefs.GetInt ("LengthQuaternion" + sceneID)];
 for (int x = 0; x < array.Length; x++) {
 array[x].x = PlayerPrefs.GetFloat (key + x + "x" + sceneID, array[x].x);
 array[x].y = PlayerPrefs.GetFloat (key + x + "y" + sceneID, array[x].y);
 array[x].z = PlayerPrefs.GetFloat (key + x + "z" + sceneID, array[x].z);
 array[x].w = PlayerPrefs.GetFloat (key + x + "w" + sceneID, array[x].w);
 }
 return array;
 }
}
 

Abaixo tem um script que tem todos os exemplos de como salvar e carregar todos tipos de variáveis:





Qualquer tipo de bug, falha ou erros no código encontrado se possível poste aqui nos comentários para ser corrigido o mais rapido possivel e também qualquer tipo de dúvida. Futuramente pode ser que esse script seja atualizado com novos tipos de extensão para salvar, além do PlayerPrefs. Obrigado pela atenção.
rafaelllsd
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 3254
REPUTAÇÃO : 471
Idade : 19
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.

Respeito as regras : [TUTORIAL] Salvar dados com playerprefs facilmente. Aad8pUi

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Salvar dados com playerprefs facilmente.

Mensagem por MarcosSchultz em Ter Jan 15, 2019 10:52 pm

Nuss, que tutorial lindo.

Parece as void's que eu fazia em C++ pra salvar as variáveis no Atmega2560.

Muito útil
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 62242
REPUTAÇÃO : 2333
Idade : 22
Áreas de atuação : Administrador do fórum
Respeito as regras : [TUTORIAL] Salvar dados com playerprefs facilmente. Aad8pUi

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Salvar dados com playerprefs facilmente.

Mensagem por rafaelllsd em Ter Jan 15, 2019 10:59 pm

@MarcosSchultz escreveu:Nuss, que tutorial lindo.

Parece as void's que eu fazia em C++ pra salvar as variáveis no Atmega2560.

Muito útil
Opa vlw.
rafaelllsd
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 3254
REPUTAÇÃO : 471
Idade : 19
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.

Respeito as regras : [TUTORIAL] Salvar dados com playerprefs facilmente. Aad8pUi

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Salvar dados com playerprefs facilmente.

Mensagem por dstaroski em Qua Jan 16, 2019 9:30 am

Show cara! Parabéns ai!
dstaroski
dstaroski
Instrutor

Masculino PONTOS : 4334
REPUTAÇÃO : 1096
Idade : 30
Áreas de atuação : Desenvolvedor .NET Jr. ,Téc. Hardware e Redes, Programação C#, Asp .NET, HTML, CSS, Unity 3D

Respeito as regras : [TUTORIAL] Salvar dados com playerprefs facilmente. Aad8pUi

Ver perfil do usuário http://diegodeoliveira.gamejolt.io/defeattheilluminatis

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Salvar dados com playerprefs facilmente.

Mensagem por rafaelllsd em Ter Jan 22, 2019 5:48 am

@dstaroski escreveu:Show cara! Parabéns ai!
Vlw  Laughing
rafaelllsd
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 3254
REPUTAÇÃO : 471
Idade : 19
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.

Respeito as regras : [TUTORIAL] Salvar dados com playerprefs facilmente. Aad8pUi

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Salvar dados com playerprefs facilmente.

Mensagem por augustobrito em Qua Abr 03, 2019 2:33 pm

Só uma dica, ao invés de salvar o array dessa forma criando milhares de variáveis dentro do PlayerPrefs, vc pode converter o array numa string usando o conversor da biblioteca System (link abaixo) que vc irá economizar muito espaço dentro do PlayerPrefs.

https://docs.microsoft.com/en-us/dotnet/api/system.convert.tobase64string?view=netframework-4.7.2
augustobrito
augustobrito
ProgramadorMaster

Masculino PONTOS : 2082
REPUTAÇÃO : 159
Áreas de atuação : C#, C, C++, Python & JS.
Respeito as regras : [TUTORIAL] Salvar dados com playerprefs facilmente. Aad8pUi

Ver perfil do usuário http://augustobrit.github.io

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Salvar dados com playerprefs facilmente.

Mensagem por rafaelllsd em Qua Abr 03, 2019 7:09 pm

dimmuo escreveu:Só uma dica, ao invés de salvar o array dessa forma criando milhares de variáveis dentro do PlayerPrefs, vc pode converter o array numa string usando o conversor da biblioteca System (link abaixo) que vc irá economizar muito espaço dentro do PlayerPrefs.

https://docs.microsoft.com/en-us/dotnet/api/system.convert.tobase64string?view=netframework-4.7.2
Esse método eu não conhecia, vou dar uma olhada e na próxima versão deste script talvez esse método já esteja implementado. obrigado pela sujestão.
rafaelllsd
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 3254
REPUTAÇÃO : 471
Idade : 19
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.

Respeito as regras : [TUTORIAL] Salvar dados com playerprefs facilmente. Aad8pUi

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Salvar dados com playerprefs facilmente.

Mensagem por lucaspoiob em Seg Ago 12, 2019 11:57 am

tem como salvar GameObject através desses script ai?? e um GameObject com array tb?

lucaspoiob
Membro
Membro

PONTOS : 906
REPUTAÇÃO : 0
Respeito as regras : [TUTORIAL] Salvar dados com playerprefs facilmente. WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Salvar dados com playerprefs facilmente.

Mensagem por MarcosSchultz em Ter Ago 13, 2019 6:40 am

@lucaspoiob escreveu:tem como salvar GameObject através desses script ai?? e um GameObject com array tb?

pra isso teria que usar json... salvar GameObject com playerPrefs é meio osso.
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 62242
REPUTAÇÃO : 2333
Idade : 22
Áreas de atuação : Administrador do fórum
Respeito as regras : [TUTORIAL] Salvar dados com playerprefs facilmente. Aad8pUi

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Salvar dados com playerprefs facilmente.

Mensagem por rafaelllsd em Ter Ago 13, 2019 4:45 pm

@MarcosSchultz escreveu:
@lucaspoiob escreveu:tem como salvar GameObject através desses script ai?? e um GameObject com array tb?

pra isso teria que usar json... salvar GameObject com playerPrefs é meio osso.
Na nova versão do script que eu preparei daria para salvar em várias extensões [PlayerPrefs, Xml, Json, Binary], com isso daria sim para salvar GameObject, porém eu tive um problema com o meu HD e tive que formatar o pc, e infelizmente como eu ando meio ocupado e deixei um pouco de lado esse projeto, e esqueci miseravelmente de fazer um Backup dos scripts e perdi eles, mas eu ainda vou refaze los, só vai demorar um pouco, pois o script já estava com mais de 400 linhas, mas acho que foi bom isso acontecer, pois agora posso otimizar o script e retirar umas 100 linhas.
rafaelllsd
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 3254
REPUTAÇÃO : 471
Idade : 19
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.

Respeito as regras : [TUTORIAL] Salvar dados com playerprefs facilmente. Aad8pUi

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Salvar dados com playerprefs facilmente.

Mensagem por lucaspoiob em Ter Ago 13, 2019 5:27 pm

@rafaelllsd escreveu:
@MarcosSchultz escreveu:
@lucaspoiob escreveu:tem como salvar GameObject através desses script ai?? e um GameObject com array tb?

pra isso teria que usar json... salvar GameObject com playerPrefs é meio osso.
Na nova versão do script que eu preparei daria para salvar em várias extensões [PlayerPrefs, Xml, Json, Binary], com isso daria sim para salvar GameObject, porém eu tive um problema com o meu HD e tive que formatar o pc, e infelizmente como eu ando meio ocupado e deixei um pouco de lado esse projeto, e esqueci miseravelmente de fazer um Backup dos scripts e perdi eles, mas eu ainda vou refaze los, só vai demorar um pouco, pois o script já estava com mais de 400 linhas, mas acho que foi bom isso acontecer, pois agora posso otimizar o script e retirar umas 100 linhas.
hmmm entendi mano, porra que azar tb mano, mas pelo menos agora você vai conseguir fazer com uma performance melhor e menos linhas, boa sorte mano, valeuuu  Vitoria

lucaspoiob
Membro
Membro

PONTOS : 906
REPUTAÇÃO : 0
Respeito as regras : [TUTORIAL] Salvar dados com playerprefs facilmente. WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Salvar dados com playerprefs facilmente.

Mensagem por artplayer em Ter Ago 13, 2019 10:09 pm

Ainda prefiro binary. E olha que já experimentei quase tudo nessa vida.
artplayer
artplayer
Instrutor

Masculino PONTOS : 2088
REPUTAÇÃO : 357
Idade : 35
Respeito as regras : [TUTORIAL] Salvar dados com playerprefs facilmente. Aad8pUi

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Salvar dados com playerprefs facilmente.

Mensagem por rafaelllsd em Ter Ago 13, 2019 10:23 pm

@artplayer escreveu:Ainda prefiro binary. E olha que já experimentei quase tudo nessa vida.
Concordo, testei todos e o que gostei mais foi o binary,  salva e criptografa, ele vai ser o primeiro da lista quando eu começar a refazer o script.
rafaelllsd
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 3254
REPUTAÇÃO : 471
Idade : 19
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.

Respeito as regras : [TUTORIAL] Salvar dados com playerprefs facilmente. Aad8pUi

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum