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:
hospedagem de site gratis (link no tópico)
Playerprefs
Como percorrer por rampas sem deslizar o Rigdbody?
fazer inimigo se movimentar para direita e esquerda jogo de plataforma
Solução Unity 2019 erro Text Mesh Pro
[TUTORIAL] Cena inicial de CARREGAMENTO, creditos, logo, etc [UNITY 5]
Problema com boxes colliders
Rotação
The Stack
Instalar nova versão Unity 2019
[RESOLVIDO] Alguém conhece um programa bom e simples para criar modelos 3d?
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Flamehead MMORPG Indie
Comunicação entre scripts
[RESOLVIDO] Teletransporte pelo cenario Unity2D
Dúvida WEBGL
[RESOLVIDO] Problema com sistema de controle de volume.
Meu Jogo ta Travando - Quiz Unity 2D
[RESOLVIDO] Unity - Como Saber Se Botão Foi Clicado?
Quiz 2D Unity - Como esperar segundos para ir pra próxima pergunta????
Aplicativo!?!
[DUVIDA] ADS Em app WPF.NET ?
[RESOLVIDO] Renderização de Sprite renderer
[TUTORIAL] Arma tipo a do call of duty
Animação customizada com "Exit Time"
Personagem No Unity problema com colisão Como Resolver
Inimigo seguir só quando olharmos para ele.
Meu novo game
The scripts needs to derive from monobehaviour
[RESOLVIDO] Erro - animações do Mixamo na Unity
[TUTORIAL] Singleton, A melhor forma de acessar a classe!
[Asset] Repositório + Assets
Executar animação via script
COMO MOVER UM OBJETO OU PERSONAGEM
[RESOLVIDO] GameObject que não Ativa
[TUTORIAL] Compilar para Android
Travar movimentação/rotação de um child.
[TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera
[RESOLVIDO] Unity 2018.2.14f1(64bit) sem audio
Como alterar propriedades em uma clip de animação mantendo o padrão em outros clips?
GIRAR EM TORNO DE ACORDO COM AS TECLAS
[DUVIDA] Como permitir que o usuario envie uma imagem e a ajeite
Mobile Camera
Collider labirinto 2D
Efeito de "Super velocidade"
girar eixo de movimento
[RESOLVIDO] List Index error
Jogo Da Velha
Projeto de lei quer criminalizar criadores de jogos violentos ?!?!?!?
Avaliem meu APK!!!!!
[TUTORIAL] Salvar dados com playerprefs facilmente.
Conta android para desenvolvedor
[Asset] Jogo em plataforma 2D para aprendizado
Sistema de Plataforma com Rotas controlado por Touch
DIVULGAÇÃO
[RESOLVIDO] Como saber se o jogador esta vendo um certo objeto?
derrubar arvore em jogo 2d
[RESOLVIDO] Como resetar a cena em que o player estar
ESTOU COM UM PROBLEMA EM UM SCRIPT
Bool ficar verdadeira no multiplayer em script de inimigo? (Unet)
Game Mobile
[RESOLVIDO] Não consigo deixar meus áudios em 3D...
Pressionar Botão por um determinado tempo
Histórico de Input
como limitar o zoom mínimo e máximo no lean touch
Como que faço para rotacionar um objeto na posição do player como o cenario
[RESOLVIDO] Bug textura, SketchUp para Unity 3d
Unity - Excluir Ads Criado.
[RESOLVIDO] Lanterna Sumindo
Setar a posição do mouse
Medidores interativos como fazer na Unity
[RESOLVIDO] Unity - Adicionar Espaço Em Array
Pack de áudio/ efeitos sonoros gratuitos.
Game Engine
[TUTORIAL] Sistema simples para VOLTAR NO TEMPO, Unity 3D
Point Light com qualidade horrivel, o que pode ser?
PC, Mobile ou ambos?
Efeito Glowing
[RESOLVIDO] box collider conflito
[RESOLVIDO] Blender - Mancha Preta
[TUTORIAL] Unity 5- Sistema de PLATAFORMAS COM ROTAS
ESTOU COM UM PROBLEMA DE ANIMAÇÃO!!!
Câmera Orbital Modificada
[RESOLVIDO] Uma duvida sobre colliders 2d
Unity - Inspetor Personalizado
Software para testar AR no PC
Salvar Cores com Json
Objeto que pula
[RESOLVIDO] limite de posicionamento
Enemy grid movement
[RESOLVIDO] AJUDA COM SCRIPT
TANK DEFENDER II
[TUTORIAL] Sistema simples de Cutscenes
Sisteminha para coleta de itens
Recrutamento para desenvolvimento de um Projeto
fazer unity5 imprimir
AJUDA COM SCRIPT DE DISPARO
Um código e um agradecimento ao todo mundo.
Dúvida de shotter 2D...
Hoje à(s) 5:51 pm
Hoje à(s) 5:03 pm
Hoje à(s) 4:02 pm
Hoje à(s) 2:46 pm
Hoje à(s) 2:32 am
Ontem à(s) 9:35 pm
Ontem à(s) 8:43 pm
Ontem à(s) 8:39 pm
Ontem à(s) 8:30 pm
Ontem à(s) 8:25 pm
Ontem à(s) 1:04 pm
Ontem à(s) 3:28 am
Ontem à(s) 3:25 am
Qua Abr 17, 2019 8:26 pm
Qua Abr 17, 2019 8:16 pm
Seg Abr 15, 2019 11:27 pm
Seg Abr 15, 2019 11:24 pm
Seg Abr 15, 2019 9:53 pm
Seg Abr 15, 2019 7:15 pm
Seg Abr 15, 2019 12:29 pm
Dom Abr 14, 2019 11:26 am
Dom Abr 14, 2019 11:23 am
Dom Abr 14, 2019 1:42 am
Sab Abr 13, 2019 2:33 pm
Sab Abr 13, 2019 1:36 pm
Sex Abr 12, 2019 8:44 pm
Qui Abr 11, 2019 11:18 pm
Qui Abr 11, 2019 12:50 pm
Qua Abr 10, 2019 10:59 am
Qua Abr 10, 2019 1:01 am
Ter Abr 09, 2019 7:31 pm
Ter Abr 09, 2019 6:39 pm
Ter Abr 09, 2019 3:47 pm
Seg Abr 08, 2019 10:12 pm
Seg Abr 08, 2019 8:59 pm
Dom Abr 07, 2019 8:55 pm
Dom Abr 07, 2019 8:01 pm
Dom Abr 07, 2019 3:05 pm
Sab Abr 06, 2019 11:52 am
Sab Abr 06, 2019 12:12 am
Sex Abr 05, 2019 10:46 pm
Sex Abr 05, 2019 9:38 pm
Sex Abr 05, 2019 9:36 pm
Sex Abr 05, 2019 9:31 pm
Sex Abr 05, 2019 9:27 pm
Qui Abr 04, 2019 9:18 pm
Qui Abr 04, 2019 8:21 pm
Qui Abr 04, 2019 4:37 pm
Qui Abr 04, 2019 2:48 pm
Qui Abr 04, 2019 12:31 am
Qua Abr 03, 2019 7:09 pm
Qua Abr 03, 2019 4:37 pm
Qua Abr 03, 2019 4:32 pm
Ter Abr 02, 2019 11:18 pm
Ter Abr 02, 2019 7:32 pm
Ter Abr 02, 2019 6:18 pm
Ter Abr 02, 2019 4:50 pm
Ter Abr 02, 2019 4:19 am
Seg Abr 01, 2019 9:22 pm
Seg Abr 01, 2019 9:19 pm
Seg Abr 01, 2019 9:15 pm
Seg Abr 01, 2019 8:58 pm
Seg Abr 01, 2019 6:12 pm
Seg Abr 01, 2019 4:00 pm
Seg Abr 01, 2019 3:35 pm
Seg Abr 01, 2019 1:23 pm
Seg Abr 01, 2019 1:09 am
Dom Mar 31, 2019 6:07 pm
Dom Mar 31, 2019 11:26 am
Sab Mar 30, 2019 9:03 pm
Sab Mar 30, 2019 6:09 pm
Sab Mar 30, 2019 5:50 pm
Sab Mar 30, 2019 4:56 pm
Sab Mar 30, 2019 8:22 am
Sab Mar 30, 2019 8:21 am
Sex Mar 29, 2019 11:56 pm
Sex Mar 29, 2019 4:31 pm
Sex Mar 29, 2019 3:57 pm
Sex Mar 29, 2019 3:39 pm
Sex Mar 29, 2019 12:29 pm
Sex Mar 29, 2019 4:54 am
Sex Mar 29, 2019 4:50 am
Sex Mar 29, 2019 4:41 am
Qui Mar 28, 2019 4:26 pm
Qui Mar 28, 2019 1:39 pm
Qui Mar 28, 2019 8:05 am
Qui Mar 28, 2019 8:04 am
Ter Mar 26, 2019 11:02 pm
Ter Mar 26, 2019 5:41 pm
Ter Mar 26, 2019 2:19 pm
Ter Mar 26, 2019 12:53 pm
Seg Mar 25, 2019 11:52 pm
Seg Mar 25, 2019 11:22 pm
Seg Mar 25, 2019 9:20 pm
Seg Mar 25, 2019 1:39 am
Dom Mar 24, 2019 6:17 pm
Sab Mar 23, 2019 10:30 pm
Sab Mar 23, 2019 9:18 pm
Sab Mar 23, 2019 8:39 pm
zZAndersonZz
Magnatah
LucasRangel
darkrj
MarcosSchultz
marlon33
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
glauco
ffabim
ffabim
Callyde Jr
mathhBR
numb123
kraulim
MarcosSchultz
Magnatah
Akuma97
Magnatah
BRGC
ffabim
diegopds
NKKF
dstaroski
MarceloYBP
guimaraf
everton0101
Master3353
Magnatah
augustobrito
NotoriousDev
DEQUISTER1994
Fernando Andrey
fabricadegame
NotoriousDev
iToddy
marciosilva
LucasRangel
wagnercaragua
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
wagnercaragua
NotoriousDev
Unidade3d5
Tegh
rejão
rafaelllsd
JohnRambo
NKKF
edvanmelo
niao
NKKF
Tegh
niao
fecirineu
fecirineu
fecirineu
BrazaTattoo
NKKF
NKKF
Chilinger
emerson vitor
BrazaTattoo
Magnatah
Guinho3p
luiz12345
Magnatah
Magnatah
Zack2
Chilinger
Chilinger
MarcosSchultz
Magnatah
michelly
eduardonog30
Magnatah
MarcosSchultz
MarcosSchultz
MarcosSchultz
mathhBR
Magnatah
Chilinger
Chilinger
luiz12345
Span
Unidade3d5
Diego Felix
wagnercaragua
AnderGames
Magnatah
ShadowWG
Encracker
Diego Felix
dstaroski
Weslley

[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 : 3076
REPUTAÇÃO : 449
Idade : 18
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, HTML5.

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 : 61659
REPUTAÇÃO : 2206
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 : 3076
REPUTAÇÃO : 449
Idade : 18
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, HTML5.

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 : 4167
REPUTAÇÃO : 1067
Idade : 29
Á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 : 3076
REPUTAÇÃO : 449
Idade : 18
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, HTML5.

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 : 1951
REPUTAÇÃO : 157
Á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 : 3076
REPUTAÇÃO : 449
Idade : 18
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, HTML5.

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

Ver perfil do usuário

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