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:
Comparar posição de dois objetos
Void OnTriggerEnter
efeito de pingos na tela e camera com leve balanço realista (game 2D)
Role play online estilo gta bora jogar...
tempo parar
[TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Criar Apk Android 64 .aab
[RESOLVIDO] Prefabs
servidor
LookRotation em alguns angulos apenas.
unity 2019
[TUTORIAL] Criando um simples Multiplayer [UNITY 5]
Jogo de Favela para Android - Estou usando o MS Vehicle System do Marcos!
[TUTORIAL] Mover objetos 2D e conectar em lugares específicos
[RESOLVIDO] Modificação no Script
Como "medir" a distância do caminho no NavMesh??
Meu game para Android " As aventuras de Steff " finalizado, ou quase!
Mecânica do Inimigo (Horror Survive)
iae galera, postei meu jogo no Google play recentemente.
Problemas com animações
[RESOLVIDO] GUARDAR MACHADO
Erro ao usb
Bibliotecas obsoletas causam alguma perda de desempenho?
O jogo acaba depois de um determinado tempo
Mecânica simples no estilo Jogo da Memória
COMO MUDAR UMA VARIAVEL APOS EX: 10 DIAS
Duvida com Script de AI inteligente
Duvida com FadeIn e FadeOut quando o tempo do jogo acaba
Como fazer o personagem não conseguir flipar enquanto estou atacando? (Unity 2D)
Duvida com Network
Como criar perfil no jogo para quem pagar na play store
Uma Ideia Movimento
INVENTÁRIO ESTILO THE FOREST
ANIMAÇÃO INFINITA NO UNITY
Problemas para salvar imagem de textura gerada na Unity no PC
Deformar mesh sem usar rigidbody e reconhecer força do impacto
Existe outras formas de multiplayer sem ser pelo Photon ou Unet?
força de impacto em npc proximo a objeto que explode
criar perfil no jogo para quem pagar na play store
Uma Ideia Movimento
Sistema De Radio
Jogo de Maior ou Menor - Duvida sobre melhorias no script
As funções dadas não são executadas no cliente, somente no servidor...
Mudar a música com base na mudança do ambiente
[RESOLVIDO] Dano no inimigo
Caixa de dialogo aparece e desaparece muito rápido ;-
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Reiniciar Scene ao tocar Objeto
Ajuda com O Script de coletar objetos e transição de cena
Unity2D- Como criar um spawn inimigo onde saia apenas 2 inimigos do spawn?
Android Game - Fleeing From Evil
[TUTORIAL] Resolver bug dos reflexos, Unity 5.5+
[AJUDA]Preciso de ajuda em um script relacionado ao vídeo Sistema de escolha de personagen
Conexões!
Script faz a função tudo certo na unity, já quando gero apk o script não faz a função
NavMeshAgent com caminho manual.
Preciso de Ajuda Estou a desenvolver um projeto!
Direitos Autorais da Asset Store
Os seguinte apks ou pacotes de apps estão disponíveis para dispositivos de 64 bits!!
Estou querendo mandar as informações SERVIDOR/CLIENTE com o NETWORK
Erro no unity quando eu crio um projeto
Video Player travando no apk do jogo
Update jogo
Erro ao publicar na google play
[RESOLVIDO] BUG MT CHATO. USANDO O PlayerPrefs. ME AJUDAAAAAAA PF
Aparecer Texto Aleatório
Preciso De Um Programador! Para Um Game Fps!
[DUVIDA] Problemas na rotação de uma esfera com o mouse ( AddTorque )
[RESOLVIDO] Como fazer isso em for ou foreach dentro do update
Conceito básico de jogo em Rede Local.
Uso de PNG ou JPG no Unity?
Duvida(tamanho de objetos)
App feito na Unity - Biblia Sagrada
Unity carregando objetos sozinho
Limitação do FPS
Duvida sobre a geração de cenários aleatórios(plataforma 2D)
Personagem olhar para direção de onde estiver se movimentando
Problema com Dano ao Inimigo
Dúvida sobre chaves PlayerPrefs
inventario/Matrix
Personagem voando infinitamente no Unity 2D
[RESOLVIDO] Alguém sabe como tirar esse impulso do collider ?
[RESOLVIDO] Como fazer um objeto 2D rotacionar em direção a outro objeto
Como faço para Criar um sistema de touch em primeira pessoa na Unity2019?
duvida em c#
Shader com efeito de dissolução
[TUTORIAL] Sistema de tiro com RAYCAST (várias armas, mira laser, munição, dano, etc, etc)
Problema com a função Resolution[]
Função Text não esta dando erro no Unity2D (Score Text)
Unity travando na hora do Play
Duvida Raycast2D
Bug Partículas
Física ser calculada mais rápida
[TUTORIAL] Fazer som tocar apenas com colisão
Sobre Criação e Execução de Cutscene
O jogo acaba depois de um determinado tempo
Como fazer uma cena resetar ao voltar para ela
Fonte com caracteres matemáticos para unity
Luz
Hoje à(s) 12:25 am
Ontem à(s) 11:16 pm
Ontem à(s) 9:52 pm
Ontem à(s) 7:46 pm
Ontem à(s) 7:44 pm
Ontem à(s) 7:37 pm
Ontem à(s) 5:13 pm
Dom Out 20, 2019 5:10 pm
Dom Out 20, 2019 3:33 pm
Dom Out 20, 2019 3:32 pm
Sab Out 19, 2019 9:12 pm
Sab Out 19, 2019 1:49 pm
Sab Out 19, 2019 11:52 am
Sab Out 19, 2019 10:04 am
Sex Out 18, 2019 9:28 pm
Sex Out 18, 2019 8:23 pm
Sex Out 18, 2019 12:14 pm
Sex Out 18, 2019 9:40 am
Sex Out 18, 2019 9:33 am
Qui Out 17, 2019 8:09 pm
Qui Out 17, 2019 6:27 pm
Qui Out 17, 2019 6:25 pm
Qua Out 16, 2019 10:44 pm
Qua Out 16, 2019 9:40 pm
Qua Out 16, 2019 9:34 pm
Qua Out 16, 2019 8:25 pm
Qua Out 16, 2019 3:56 pm
Qua Out 16, 2019 3:51 pm
Ter Out 15, 2019 10:35 pm
Ter Out 15, 2019 9:58 pm
Ter Out 15, 2019 2:55 pm
Ter Out 15, 2019 1:31 pm
Ter Out 15, 2019 11:47 am
Ter Out 15, 2019 11:43 am
Ter Out 15, 2019 1:06 am
Ter Out 15, 2019 12:13 am
Seg Out 14, 2019 10:00 pm
Seg Out 14, 2019 8:36 pm
Seg Out 14, 2019 8:09 pm
Seg Out 14, 2019 8:04 pm
Seg Out 14, 2019 4:45 pm
Seg Out 14, 2019 1:29 pm
Seg Out 14, 2019 8:06 am
Seg Out 14, 2019 2:33 am
Dom Out 13, 2019 4:47 pm
Dom Out 13, 2019 3:52 pm
Dom Out 13, 2019 9:39 am
Dom Out 13, 2019 2:52 am
Dom Out 13, 2019 2:29 am
Sab Out 12, 2019 7:15 pm
Sab Out 12, 2019 11:21 am
Sex Out 11, 2019 8:06 pm
Sex Out 11, 2019 5:52 pm
Sex Out 11, 2019 5:23 pm
Sex Out 11, 2019 2:48 pm
Sex Out 11, 2019 12:38 pm
Sex Out 11, 2019 11:14 am
Sex Out 11, 2019 9:17 am
Sex Out 11, 2019 8:04 am
Qui Out 10, 2019 5:27 pm
Qui Out 10, 2019 2:32 pm
Qui Out 10, 2019 2:13 pm
Qui Out 10, 2019 1:42 pm
Qui Out 10, 2019 11:30 am
Qua Out 09, 2019 8:07 pm
Qua Out 09, 2019 2:26 pm
Ter Out 08, 2019 10:27 pm
Ter Out 08, 2019 8:12 pm
Ter Out 08, 2019 6:01 pm
Ter Out 08, 2019 5:05 pm
Ter Out 08, 2019 3:12 pm
Ter Out 08, 2019 3:07 pm
Ter Out 08, 2019 11:25 am
Ter Out 08, 2019 2:45 am
Ter Out 08, 2019 2:07 am
Seg Out 07, 2019 10:43 am
Seg Out 07, 2019 3:11 am
Dom Out 06, 2019 5:24 pm
Dom Out 06, 2019 4:02 pm
Dom Out 06, 2019 3:56 pm
Sab Out 05, 2019 3:08 pm
Sab Out 05, 2019 1:41 pm
Sab Out 05, 2019 1:40 pm
Sex Out 04, 2019 10:04 pm
Sex Out 04, 2019 9:12 pm
Sex Out 04, 2019 11:41 am
Qui Out 03, 2019 8:34 pm
Qui Out 03, 2019 7:57 pm
Qui Out 03, 2019 3:46 pm
Qui Out 03, 2019 10:28 am
Qui Out 03, 2019 7:19 am
Qua Out 02, 2019 11:09 pm
Qua Out 02, 2019 5:09 pm
Qua Out 02, 2019 11:19 am
Qua Out 02, 2019 8:57 am
Ter Out 01, 2019 9:03 pm
Ter Out 01, 2019 4:40 pm
Ter Out 01, 2019 4:23 pm
Seg Set 30, 2019 8:50 pm
MayLeone
MayLeone
nvndx
fecirineu
MayLeone
Callyde Jr
SergioDB
mirdov
Diguinho
Emanuel
nibirou
Diguinho
lunaticsgames
kelvys
Samuelostgamer
Laylson.f
Tomás zjjxj
Lester3422
Willams
Samuelostgamer
Fagner
FSL02
RodriGO3477
Okeizito
joffersoju
nibirou
Lester3422
Lester3422
Hamassfall
igorarruda
artplayer
FabioDev
leonardolopes
leonardolopes
gabrimo
JohnRambo
SteveRogers
Extreme Craft
eduardonog30
FabioDev
williangamesbr4021
joffersoju
marino96
luizrbizzio
leonardolopes
MayLeone
Dom3000
MayLeone
Lester3422
Fagner
samoliver1813
leonardolopes
daniel123163
Dimelus
marino96
Nowsfeky
LucasGamerFx
artplayer
samoliver1813
marino96
RafaelSquid1
gtcmcsgo
benhurgdll
natanael.olimpio
daniel123163
Tegh
nibirou
guirigottti
joffersoju
Dark_The_King
Fagner
poyser
Weslley
MayLeone
Fagner
vphyre
luizrbizzio
Gabriel Ferraz
billybmx
billybmx
MayLeone
gersoneson
Hamassfall
ReDsScript
diegopds
AnderGames
GabrielGelbcke
Fagner
gersoneson
gersoneson
poyser
TecnoGames
NKKF
Gutavex
alexalex
Okeizito
poyser
Socates
Magnatah

[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 : 3339
REPUTAÇÃO : 483
Idade : 19
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.

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

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 : 62347
REPUTAÇÃO : 2356
Idade : 23
Áreas de atuação : Administrador do fórum
Respeito as regras : [TUTORIAL] Salvar dados com playerprefs facilmente. Aad8pUi

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 : 3339
REPUTAÇÃO : 483
Idade : 19
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.

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

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 : 4406
REPUTAÇÃO : 1104
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

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 : 3339
REPUTAÇÃO : 483
Idade : 19
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.

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

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 : 2142
REPUTAÇÃO : 160
Áreas de atuação : C#, C, C++, Python & JS.
Respeito as regras : [TUTORIAL] Salvar dados com playerprefs facilmente. Aad8pUi

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 : 3339
REPUTAÇÃO : 483
Idade : 19
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.

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

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 : 969
REPUTAÇÃO : 0
Respeito as regras : [TUTORIAL] Salvar dados com playerprefs facilmente. WvDYdlf

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 : 62347
REPUTAÇÃO : 2356
Idade : 23
Áreas de atuação : Administrador do fórum
Respeito as regras : [TUTORIAL] Salvar dados com playerprefs facilmente. Aad8pUi

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 : 3339
REPUTAÇÃO : 483
Idade : 19
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.

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

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 : 969
REPUTAÇÃO : 0
Respeito as regras : [TUTORIAL] Salvar dados com playerprefs facilmente. WvDYdlf

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 : 2203
REPUTAÇÃO : 385
Idade : 35
Respeito as regras : [TUTORIAL] Salvar dados com playerprefs facilmente. Aad8pUi

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 : 3339
REPUTAÇÃO : 483
Idade : 19
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.

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

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

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