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 Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Formação De Equipe Pra Criar RPG
Adicionar linhas no TXT pelo codigo
Unity Ads ou AdMob!
Como locomover um trem
Como fazer Escudo seguir a movimentação do Player?
Como não perder qualidade nas texturas 2d?
IDB JAM #10
MOVIMENTAÇÃO EM 8 DIREÇÕES.
animações não sendo reproduzidas
Seguir um raio no raycast a partir do ponto da tela clicado
Building System
Personagem morrer ao cair da tela
Deixar objeto invisível.
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Divulgaçao de Battle of Worlds
[Resolvido]Problema nesse pequeno script
Como fazer barco estilo minecraft ou estilo navio que da pra andar dentro
[TUTORIAL] Sistema de inventário Sobrevivência
Movimentação
Puzzle para jogo de terror , abrir portas etc..
Script para mudar posição do personagem
Baixos Brasil - Jogo de Carro Brasileiro!
Como saber quando minha animação terminou?
system inventory , craft
ajuda
Aplicar roupa no Rig do blender...
Project Valley of Trees - Primeiro nome que faz sentido KK
A.S TRUCK
Som de correr não para de tocar
Reproduzir audio no if c## e musica continuar tocando entre cenas.
Como Colocar Pontuação Final na GUI de GAME OVER
Unity 2017 Iluminação RealTime VS Baked [Comparaçâo]
DUVIDA : Raycast
Programador para equipe
Da pra colocar sisteminha em um jogo da unity pra trolar quem for piratear o jogo?
Como colocar musicas em sequencia para tocar?
Trajetória da bala com predição
Ajudinha com Bug
[RESOLVIDO] Poblema com Rigidbody
[DEVLOG] Projeto - Girl Blade (download Pré-Alpha)
Erro ao bulidar para Windows(.exe)
Mudar a gravidade com rotação (sensores do smartphone)
Problemas na detecção de colisão
Trabalhar simultaneamente na Unity
Movimetaçao infinita
(duvida)pq isso acontece com o inimigo?
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
[DUVIDA] Como alterar a intensidade do ChromaticAberration do PostProcessing?
Joystick VR não funciona no ios
Problema na minha animação feita na Unity
[TUTORIAL] Unity 5 - Como criar o próprio FPS Controller
IA para inimigo seguir o jogador ( Plataforma )
Tirar Fotos no Unity 5 FPS
[TUTORIAL] Cena inicial de CARREGAMENTO, creditos, logo, etc [UNITY 5]
Como Limitar Spawn de Hordas
Desmembramento
Exemplo de UI com abas - utilizando toggles e toggle group.
Ajuda Blender
Quando Instancio botão ele não aparece no canvas
Sistema de pesca 2D
[TUTORIAL] Derrubar arvores e dropar madeiras dela
Auto-Complete do Visual Studios
Metroidvania - procuro membros
Criação de Update para Seus jogos?
Blender, animação + Unity
Preciso de alguém que desenvolva Craft, e Inventario com sistema de Bolsas, Pago bem
Detectar Hit
[MODELADOR] Procurando Projetos
Carákas que Tops WO.OW
Anexar GameObject por scrit
Como cria um sistema de seve game
[DUVIDA] Trocar botoes no teclado por joystick UI
Efeito de Audio
Bug de sumir todas as modelagens 3D na unity 2017
Quero fazer minha propria lens flare
Menu para selecao de cena
Dificuldades com programação no Unity 5 2D
Bug ? offline e online
Conflito de ações HELP
como saber a posição que a particula bateu?
Formação de Equipe Battle of Worlds
[JOGO EM BETA] Batalha de Canhão
Jogo de sobrevivência na ilha PRE-Alpha
Inimigo ao encostar morre e player leva dano UNITY 5 2D
Como faço blocos que somem so clikando neles 1 vez?
Light Bug
Como criar inventário simples no unity
Como fasso para que clico em um botao e aumente o volume junto com grave em uma musica?
como que criar um sitema tipo o do rocket league
tem como criar um modelo no sketchup e exportar pra unity, mas sem os componentes
(duvida)pq aconteçe isso com a luz
Como posso deixar o MENU do meu jogo adequado ao monitor?
Dúvida com o Update
Como eu realizo um inimigo que atira(tipo os inimigos do Warface)?
Bug Chato
Particulas de poeira
Faltando algumas opções no Unity
Audio Player C#
volume do som de acordo com distancia
Hoje à(s) 9:00 am
Hoje à(s) 8:34 am
Hoje à(s) 7:03 am
Hoje à(s) 1:07 am
Hoje à(s) 12:04 am
Ontem à(s) 11:07 pm
Ontem à(s) 9:27 pm
Ontem à(s) 7:22 pm
Ontem à(s) 7:17 pm
Ontem à(s) 6:01 pm
Ontem à(s) 5:55 pm
Ontem à(s) 9:57 am
Ontem à(s) 7:07 am
Ontem à(s) 12:13 am
Ter Set 19, 2017 11:53 pm
Ter Set 19, 2017 10:15 pm
Ter Set 19, 2017 9:12 pm
Ter Set 19, 2017 9:00 pm
Ter Set 19, 2017 8:34 pm
Ter Set 19, 2017 7:40 pm
Ter Set 19, 2017 4:29 pm
Ter Set 19, 2017 12:25 pm
Ter Set 19, 2017 12:14 pm
Ter Set 19, 2017 10:55 am
Ter Set 19, 2017 10:26 am
Ter Set 19, 2017 8:21 am
Ter Set 19, 2017 2:42 am
Seg Set 18, 2017 10:20 pm
Seg Set 18, 2017 9:16 pm
Seg Set 18, 2017 8:40 pm
Seg Set 18, 2017 8:39 pm
Seg Set 18, 2017 8:08 pm
Seg Set 18, 2017 4:33 pm
Seg Set 18, 2017 2:22 pm
Seg Set 18, 2017 12:15 pm
Seg Set 18, 2017 9:33 am
Seg Set 18, 2017 8:21 am
Seg Set 18, 2017 12:59 am
Dom Set 17, 2017 5:04 pm
Dom Set 17, 2017 3:45 pm
Dom Set 17, 2017 10:49 am
Sab Set 16, 2017 11:18 pm
Sab Set 16, 2017 5:57 pm
Sab Set 16, 2017 4:10 pm
Sab Set 16, 2017 3:05 pm
Sab Set 16, 2017 2:23 pm
Sab Set 16, 2017 12:40 pm
Sab Set 16, 2017 12:16 pm
Sab Set 16, 2017 10:17 am
Sab Set 16, 2017 9:53 am
Sab Set 16, 2017 9:26 am
Sab Set 16, 2017 9:10 am
Sex Set 15, 2017 11:51 pm
Sex Set 15, 2017 8:27 pm
Sex Set 15, 2017 7:27 pm
Sex Set 15, 2017 6:17 pm
Sex Set 15, 2017 3:08 pm
Sex Set 15, 2017 11:19 am
Sex Set 15, 2017 9:43 am
Qui Set 14, 2017 11:50 pm
Qui Set 14, 2017 9:08 pm
Qui Set 14, 2017 3:17 pm
Qui Set 14, 2017 1:55 pm
Qui Set 14, 2017 12:13 pm
Qui Set 14, 2017 10:07 am
Qua Set 13, 2017 9:52 pm
Qua Set 13, 2017 11:34 am
Ter Set 12, 2017 10:33 pm
Ter Set 12, 2017 10:21 pm
Ter Set 12, 2017 9:34 pm
Ter Set 12, 2017 8:52 pm
Ter Set 12, 2017 8:51 pm
Ter Set 12, 2017 7:05 pm
Ter Set 12, 2017 6:53 pm
Ter Set 12, 2017 6:51 pm
Ter Set 12, 2017 3:04 pm
Ter Set 12, 2017 2:04 pm
Ter Set 12, 2017 11:54 am
Ter Set 12, 2017 9:59 am
Ter Set 12, 2017 9:43 am
Ter Set 12, 2017 12:17 am
Seg Set 11, 2017 8:54 pm
Seg Set 11, 2017 8:48 pm
Seg Set 11, 2017 8:12 pm
Seg Set 11, 2017 7:18 pm
Seg Set 11, 2017 6:15 pm
Seg Set 11, 2017 6:02 pm
Seg Set 11, 2017 5:31 pm
Seg Set 11, 2017 5:22 pm
Seg Set 11, 2017 5:06 pm
Seg Set 11, 2017 4:53 pm
Seg Set 11, 2017 4:17 pm
Seg Set 11, 2017 4:15 pm
Seg Set 11, 2017 4:14 pm
Seg Set 11, 2017 3:54 pm
Seg Set 11, 2017 3:53 pm
Seg Set 11, 2017 3:51 pm
Seg Set 11, 2017 11:42 am
Seg Set 11, 2017 3:13 am
Bruno
wilex96
guimaraf
andreoliveira122010
RobinF
JorgeLuizxd
dimmuo
Weslley
Phph09
Weslley
Weslley
Bruno
GabriG07
Dom3000
Dom3000
g
Weslley
Phph09
Weslley
Zecandy
Weslley
Duarte
artplayer
PatifeCraft
Lteo
Fagner
Madness
PatifeCraft
dstaroski
eduu10
JorgeLuizxd
MateusWTP
Weslley
Brunotrinkss
guimaraf
Weslley
guimaraf
ManoTrevor
PedroL123
dstaroski
GabriG07
Brgs886
Madness
Fagner
PedroL123
glauco
Callyde Jr
JorgeLuizxd
Henrique Ramires
Weslley
Weslley
Weslley
Weslley
Weslley
Weslley
916anderson
rafaelllsd
Fagner
Fagner
rafaelllsd
PatifeCraft
Weslley
Carlin
artplayer
Ronnisz
Jhonatham1
Callyde Jr
mrariel2011
AndyShow
Fagner
PatifeCraft
Alerson Software
AndyShow
AndyShow
AndyShow
Alessandra Matheus
Lteo
Callyde Jr
Weslley
Dom3000
Dom3000
dstaroski
dstaroski
guilhermeprata
DUT
Duarte
PatifeCraft
heliab125
MarcosSchultz
MarcosSchultz
glauco
MarcosSchultz
MarcosSchultz
lantreco
MarcosSchultz
MarcosSchultz
MarcosSchultz
Weslley
Encracker

[TUTORIAL] Como salvar dados em arquivos de texto .txt, .ini ou . qualquer coisa.

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

TUTORIAL [TUTORIAL] Como salvar dados em arquivos de texto .txt, .ini ou . qualquer coisa.

Mensagem por RenanMSV em Ter Maio 10, 2016 6:56 pm


Olá, a pouco tempo fiz um tutorial sobre como salvar dados em um banco de dados. Este método é o mais recomendado porém salvar dados em arquivos de texto talvez seja o mais recomendado para configurações do seu jogo. Assim, um usuario pode compartilhar o arquivo com outros usuarios.
Elaborei um script simples ( e quando eu digo simples é simples mesmo ).


Código:

using UnityEngine;
using System.Collections;
using System.IO;

// Padrão de nossos arquivos !

// Tela Cheia : Linha 1.
// Graficos : Linha 2.
// Resolução X : Linha 3.
// Resolucao Y : Linha 4.

public class INI : MonoBehaviour {
 public string[] CFG; // Declaramos nossa variavel que irá conter as configurações do usuario.
 private string linha; // Aqui declaramos uma variavel que irá receber o valor de cada linha do arquivo
 private StreamReader sr; // Aqui declaramos um leitor de arquivos para ser usado em todas funções
 private StreamWriter sw; // Aqui declaramos um escritor de arquivos para ser usado em todas funções

 void Reset(){
 CFG = new string[4]; // Declarando o tamanho da Array, aqui deve ser colocado o tamanho de configurações que seu arquivo deve ter. No caso deste exemplo é 4.
 }
 void Start () {
 if (!File.Exists(Application.dataPath + "/CFG.ini")) CriarArquivoDeCFG(); // Se o arquivo de configuração não existir você CHAMA A FUNÇÃO que irá criar ele e ja escrever valores padroes.
 LerArquivoDeCFG (); // Iremos ler e salvar as configuracoes do arquivo
 MostrarValoresDeCFG (); // Iremos mostrar em um log essas configuracoes
 UtilizarValoresDeCFG (); // Iremos usar algumas destas configuracoes
 //Debug.Log("Pronto!");
 }
 public void CriarArquivoDeCFG(){
 //File.Create (Application.dataPath + "/CFG.ini");
 StreamWriter sw = new StreamWriter (Application.dataPath + "/CFG.ini"); // Iremos declarar qual arquivo queremos criar (escrever)
 sw.WriteLine ("true"); // Linha 1. Aqui é bem simples, apenas chamamos a funcao WriteLine. Ela irá escrever linhas embaixo de linhas. Então o arquivo será escrito na ordem que voce quiser.
 sw.WriteLine ("1"); // Linha 2. Valores padrão!
 sw.WriteLine ("1024"); // Linha 3
 sw.WriteLine ("768"); // Linha 4
 sw.Close (); // Fechamos o arquivo (o salvando). Ja poderemos encontrar o arquivo na pasta do jogo
 }
 public void LerArquivoDeCFG(){
 StreamReader sr = new StreamReader(Application.dataPath + "/CFG.ini"); // Declaramos qual arquivo queremos ler.
 int t = 0; // Declaramos um index para ser usado no while.
 while ((linha = sr.ReadLine()) != null){ // Enquanto linha for diferente de null ou seja a linha existe  iremos
 CFG[t] = linha; //  Setamos os valores em nossa array.
 t++; // Aumentamos o indice em 1.
 }
 sr.Close (); // Fechamos o arquivo.
 }
 public void MostrarValoresDeCFG(){
 Debug.Log ("Tela Cheia: " + CFG[0] + ". Graficos: " + CFG[1] + ". Resolução: " + CFG[2] + "x" + CFG[3] + ".");
 }
 public void UtilizarValoresDeCFG(){
 bool tlcheia = (CFG [0] == "true"); // Verificamos se a variavel de tela cheia está true no arquivo
 Screen.SetResolution (int.Parse (CFG [2]), int.Parse (CFG [3]), tlcheia); // Setamos a resolucao e se tem tela cheia ou não.
 }
}


Última edição por RenanMSV em Ter Maio 10, 2016 7:01 pm, editado 1 vez(es)
avatar
RenanMSV
Instrutor

Masculino PONTOS : 1858
REPUTAÇÃO : 326
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Como salvar dados em arquivos de texto .txt, .ini ou . qualquer coisa.

Mensagem por Weslley em Ter Maio 10, 2016 7:00 pm

RenanMSV escreveu:

Olá, a pouco tempo fiz um tutorial sobre como salvar dados em um banco de dados. Este método é o mais recomendado porém salvar dados em arquivos de texto talvez seja o mais recomendado para configurações do seu jogo. Assim, um usuario pode compartilhar o arquivo com outros usuarios.
Elaborei um script simples ( e quando eu digo simples é simples mesmo ).


Código:

using UnityEngine;
using System.Collections;
using System.IO;

// Padrão de nossos arquivos !

// Tela Cheia : Linha 1.
// Graficos : Linha 2.
// Resolução X : Linha 3.
// Resolucao Y : Linha 4.

public class INI : MonoBehaviour {
 public string[] CFG; // Declaramos nossa variavel que irá conter as configurações do usuario.
 private string linha; // Aqui declaramos uma variavel que irá receber o valor de cada linha do arquivo
 private StreamReader sr; // Aqui declaramos um leitor de arquivos para ser usado em todas funções
 private StreamWriter sw; // Aqui declaramos um escritor de arquivos para ser usado em todas funções

 void Reset(){
 CFG = new string[4]; // Declarando o tamanho da Array, aqui deve ser colocado o tamanho de configurações que seu arquivo deve ter. No caso deste exemplo é 4.
 }
 void Start () {
 if (!File.Exists(Application.dataPath + "/CFG.ini")) CriarArquivoDeCFG(); // Se o arquivo de configuração não existir você CHAMA A FUNÇÃO que irá criar ele e ja escrever valores padroes.
 LerArquivoDeCFG (); // Iremos ler e salvar as configuracoes do arquivo
 MostrarValoresDeCFG (); // Iremos mostrar em um log essas configuracoes
 UtilizarValoresDeCFG (); // Iremos usar algumas destas configuracoes
 //Debug.Log("Pronto!");
 }
 public void CriarArquivoDeCFG(){
 //File.Create (Application.dataPath + "/CFG.ini");
 StreamWriter sw = new StreamWriter (Application.dataPath + "/CFG.ini"); // Iremos declarar qual arquivo queremos criar (escrever)
 sw.WriteLine ("true"); // Linha 1. Aqui é bem simples, apenas chamamos a funcao WriteLine. Ela irá escrever linhas embaixo de linhas. Então o arquivo será escrito na ordem que voce quiser.
 sw.WriteLine ("1"); // Linha 2. Valores padrão!
 sw.WriteLine ("1024"); // Linha 3
 sw.WriteLine ("768"); // Linha 4
 sw.Close (); // Fechamos o arquivo (o salvando). Ja poderemos encontrar o arquivo na pasta do jogo
 }
 public void LerArquivoDeCFG(){
 //string Readfile = new string[File.ReadAllLines(Application.dataPath + "/CFG.ini").Length];
 StreamReader sr = new StreamReader(Application.dataPath + "/CFG.ini"); // Declaramos qual arquivo queremos ler.
 int t = 0; // Declaramos um index para ser usado no while.
 while ((linha = sr.ReadLine()) != null){ // Enquanto linha for diferente de null ou seja a linha existe  iremos
 CFG[t] = linha; //  Setamos os valores em nossa array.
 t++; // Aumentamos o indice em 1.
 }
 sr.Close (); // Fechamos o arquivo.
 }
 public void MostrarValoresDeCFG(){
 Debug.Log ("Tela Cheia: " + CFG[0] + ". Graficos: " + CFG[1] + ". Resolução: " + CFG[2] + "x" + CFG[3] + ".");
 }
 public void UtilizarValoresDeCFG(){
 bool tlcheia = (CFG [0] == "true"); // Verificamos se a variavel de tela cheia está true no arquivo
 Screen.SetResolution (int.Parse (CFG [2]), int.Parse (CFG [3]), tlcheia); // Setamos a resolucao e se tem tela cheia ou não.
 }
}


Muito bom
avatar
Weslley
Moderador

Masculino PONTOS : 2716
REPUTAÇÃO : 581
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Como salvar dados em arquivos de texto .txt, .ini ou . qualquer coisa.

Mensagem por luKkaSs em Sex Maio 13, 2016 9:08 am

Muito bom msm esse script! 
mais ai vei a duvida, como ler algo assim?
Código:
id, valor
0, 15
1, 54
ou seja acessar o valor de um id dentro do arquivo, ou melhor ler(escreve) um arquivo com mais de uma coluna
avatar
luKkaSs
MembroAvançado

Masculino PONTOS : 725
REPUTAÇÃO : 16
Idade : 21
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Como salvar dados em arquivos de texto .txt, .ini ou . qualquer coisa.

Mensagem por RenanMSV em Sex Maio 13, 2016 5:46 pm

Vamos considerar que escrevemos este arquivo aqui:

Código:

fullscreen : true
graphicslevel : 1
width : 1024
height : 768

Para fazer a leitura correta basta:

Ao recuperar a linha utilizar o método Split e o Trim. Assim:

Código:

string[] value = linha.Split(':');
value [0] = value [0].Trim ();
value [1] = value [1].Trim ();
print(value[0] + value[1]);

Perceba que com o método Split separamos a string da linha de nosso arquivo pelo char ":", ou seja em cada linha de seu arquivo value[0] vai guardar o ID e value[1] vai guardar o valor!.
Perceba que usamos o método Trim. Ele vai tirar os espaços desnecessários da string. É necessário pois nosso arquivo foi salvo usando espaços entre ":" para ficar melhor pra ler e entender o arquivo.

Resultado exemplo:
Código:

value[0] = "fullscreen"; //ID
value[1] = "true"; //valor

Agora voce só precisa verificar o ID e guardar o valor em uma variavel compativel com o id.


PS: Eu usei o ID como string porque pra mim é mais amigavel. Mas voce pode usar numeros tambem, use o Parse para transformar a string em inteiro.
avatar
RenanMSV
Instrutor

Masculino PONTOS : 1858
REPUTAÇÃO : 326
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Como salvar dados em arquivos de texto .txt, .ini ou . qualquer coisa.

Mensagem por DuViDoSo em Qui Abr 20, 2017 9:53 pm

E se eu quisesse apenas salvar uma int dinheiro e usa-la sempre que a pessoa entrasse no jogo?
avatar
DuViDoSo
Modelador

Masculino PONTOS : 991
REPUTAÇÃO : 141
Idade : 18
Áreas de atuação : Modelagem LowPoly, Cozinha Daqui de Casa.
Respeito as regras :

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

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Como salvar dados em arquivos de texto .txt, .ini ou . qualquer coisa.

Mensagem por RenanMSV em Qui Abr 20, 2017 10:36 pm

Ai é melhor usar PlayerPrefs
avatar
RenanMSV
Instrutor

Masculino PONTOS : 1858
REPUTAÇÃO : 326
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Como salvar dados em arquivos de texto .txt, .ini ou . qualquer coisa.

Mensagem por DuViDoSo em Sex Abr 21, 2017 11:32 am

ei sei só usei "dinheiro" como exemplo são muitas variáveis para salvar no playerPrefs isso iria travar o jogo. nn tem como salvar em um arquivo de um jeito seguro e criptografado?
avatar
DuViDoSo
Modelador

Masculino PONTOS : 991
REPUTAÇÃO : 141
Idade : 18
Áreas de atuação : Modelagem LowPoly, Cozinha Daqui de Casa.
Respeito as regras :

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

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

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