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:
Cenário
Como faço para deixar o objeto transparente ao passar atraz?
Simples Corredores Hotel | Speed Level Design (Unity 2017)
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
[TUTORIAL] Camera que segue o Player ( estilo GTA )
Vector3 em uma variável
Site de Assets Alternativo a Asset Store Unity
Callback do Admob Vídeo Premiado ...
[____SUGESTÕES PARA O FÓRUM____]
Problema com mutiplayer
Qual o melhor lugar para vender o jogo de PC e ganhar dinheiro sem ser a STEAM?
Jogo
Script De Seleção de Objetos
SpaceInvaders - Android
[____ADERIR A UMA CATEGORIA NO FÓRUM____]
[____NOVA ÁREA____] Projetos em andamento
[DEVLOG] Projeto Coming Back(AHOWNN town) um MMO RPG 3D Game(Protótipo)
(DUVIDA) Acessar um valor de outro Script em c#
Videos Recompensados AdMob
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
[TUTORIAL] Mensagem aparecer na tela conforme a distância do jogador (Unity 5)
Direitos autorais de personagens.
Pegar item...
Fazer 4 Objetos receberem cada um uma Tag aleatoriamente
Acessar funçoes de outro script?
Criar os scrips no Android ?????
[TUTORIAL] SISTEMA DE CHUVA COM PARTICULAS.
como Desativar do inspector no script ?
Tem um modo facil para esperar tanto tempo e ocorrer uma açao?
Mudar de scene multiplayer?
Raycast em circulos(point to ckick)
Script LUZ PISCANDO
(duvida) porque esse erro estranho acontece com o modelo do scketchup
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Como tira aquele caixinha que aparece erros ou avisos no jogo depois de fazer a build?
problema com ADMOB
Problema em dedectar a TAG
[DUVIDA] Da para colocar anúncios em jogos para PC ?
Lookat para o mais próximo
Dano no inimigo
[Jogo] Flap OCO (Android & PC)
Como eu faço sprites ficarem escuras anoite?
Object Pooling
Como faz aparecer uma mensagem quando o jogador sair do jogo?
Inventario e craft estilo ark
como fazer o player aparecer do outro lado da porta quando muda de cena?
Quando fizer a build e recomendado deixar o architeture no x86 ou x86_64?
Como Chamar o Audio
Unity não reconhece meu celular
Textos de UI ficão com qualidade ruim
Como faço para a musica continuar tocando quando muda de cena?
Meu script de ser morto atropelado não funciona
[RESOLVIDO] Arrumar erros
[Asset] Simple Unity Assets - Pacote de assets para Unity.
Mostrar Pontuação No Game Over
Como eu faço um ontrigger "invertido"?
[RESOLVIDO] COMO FAZ PARA FAZER 2 TERRAINS TOTALMENTE DIFERENTES DO OUTRO?
MultiPlayer Unity Para Android!
Props Animations Asset
Mostrar Pontuação no game over
Terminei o meu jogo, mas algo deu errado.
[ASSET] Facilitação de controle de objetos
Problema em listar salas
Ranking com nome
Novo jogo - Stackx
Segurança no Unity
[TUTORIAL] Entrar no carro estilo GTA
[RESOLVIDO] Tem como melhorar a colisao? os objetos entram nos outros, caem do chao ,etc..
[DEVLOG] Projeto - Girl Blade (download Pré-Alpha)
DÚVIDA RECRIAR EFEITO NA UNITY
Me ofereço como escritor
Como adicionar uma força oposta a colisão no rigidbody?
Ajuda com script
[Dúvida]Erro error CS1525: Unexpected symbol 'u' em script
[Resolvido] É possível usar a unity com outros programas ? (config do pc na dúvida ;-; )
[Dúvida]Erro "UnityEngine.AI.NavMeshAgent.Stop()' is obsolete" como resolver ?
[Dúvida]Erro "Building to the assets folder is not allowed" ao tentar fazer build
[Equipe]Preciso de ajuda de um programador
CAMERA ENTRANDO NA PAREDE
como posso fazer um corpo perder a animação
Teste De Multiplayer
Como adicionar uma força oposta a colisão no rigidbody?
Usar o unity sem internet
Cenário jogo Endless Running
Photon Unity como funcina?
UM FANTASMA APARECEU NO MEU JOGO.
Como mudar cor do botao UI
[TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
Como sincronizar objetos do client para o host
Em breve EDU_animal-controle
Preciso de level designers com conhecimento avançado no Blender
[TUTORIAL] Como criar um HUD MULTIPLAYER personalizavel
[Duvida] Script pegar itens
Um processador de 2 nucleos versus um de 8 nucleos tem diferença na Unity?
[TUTORIAL] SALVAR JOGO AUTOMATICAMENTE
[TUTORIAL] Inteligência artificial, inimigo e AIPoints
Shader Standart - Fade . Fica transparente / Bugado (Paredes Semi-Transparentes)
Existe Alguma VOID que atualize menos que a update
Movimento dos seios e cabelo
Hoje à(s) 2:14 pm
Hoje à(s) 1:51 pm
Hoje à(s) 1:36 pm
Hoje à(s) 1:28 pm
Hoje à(s) 1:23 pm
Hoje à(s) 1:09 pm
Hoje à(s) 10:16 am
Hoje à(s) 7:53 am
Hoje à(s) 6:06 am
Hoje à(s) 2:30 am
Ontem à(s) 11:46 pm
Ontem à(s) 11:26 pm
Ontem à(s) 7:57 pm
Ontem à(s) 6:24 pm
Ontem à(s) 6:08 pm
Ontem à(s) 5:41 pm
Ontem à(s) 5:35 pm
Ontem à(s) 5:32 pm
Ontem à(s) 4:17 pm
Ontem à(s) 3:51 pm
Ontem à(s) 3:47 pm
Ontem à(s) 1:06 pm
Ontem à(s) 11:15 am
Ontem à(s) 10:44 am
Ontem à(s) 7:27 am
Ontem à(s) 7:20 am
Ontem à(s) 3:46 am
Seg Nov 20, 2017 11:22 pm
Seg Nov 20, 2017 9:49 pm
Seg Nov 20, 2017 7:48 pm
Seg Nov 20, 2017 7:16 pm
Seg Nov 20, 2017 6:41 pm
Seg Nov 20, 2017 6:41 pm
Seg Nov 20, 2017 6:06 pm
Seg Nov 20, 2017 2:31 pm
Seg Nov 20, 2017 1:23 pm
Seg Nov 20, 2017 1:18 pm
Seg Nov 20, 2017 1:00 pm
Seg Nov 20, 2017 10:54 am
Seg Nov 20, 2017 12:55 am
Dom Nov 19, 2017 10:05 pm
Dom Nov 19, 2017 9:52 pm
Dom Nov 19, 2017 8:15 pm
Dom Nov 19, 2017 8:07 pm
Dom Nov 19, 2017 7:13 pm
Dom Nov 19, 2017 7:01 pm
Dom Nov 19, 2017 6:43 pm
Dom Nov 19, 2017 6:15 pm
Dom Nov 19, 2017 5:13 pm
Dom Nov 19, 2017 4:21 pm
Dom Nov 19, 2017 2:43 pm
Dom Nov 19, 2017 1:26 pm
Dom Nov 19, 2017 4:10 am
Dom Nov 19, 2017 2:00 am
Sab Nov 18, 2017 10:35 pm
Sab Nov 18, 2017 5:50 pm
Sab Nov 18, 2017 1:30 pm
Sab Nov 18, 2017 10:30 am
Sab Nov 18, 2017 7:29 am
Sex Nov 17, 2017 10:05 pm
Sex Nov 17, 2017 5:10 pm
Sex Nov 17, 2017 4:43 pm
Sex Nov 17, 2017 3:20 pm
Sex Nov 17, 2017 2:01 pm
Sex Nov 17, 2017 11:46 am
Sex Nov 17, 2017 8:33 am
Sex Nov 17, 2017 12:31 am
Qui Nov 16, 2017 11:18 pm
Qui Nov 16, 2017 11:12 pm
Qui Nov 16, 2017 10:48 pm
Qui Nov 16, 2017 10:47 pm
Qui Nov 16, 2017 10:46 pm
Qui Nov 16, 2017 10:20 pm
Qui Nov 16, 2017 10:15 pm
Qui Nov 16, 2017 10:09 pm
Qui Nov 16, 2017 8:13 pm
Qui Nov 16, 2017 8:10 pm
Qui Nov 16, 2017 8:07 pm
Qui Nov 16, 2017 7:56 pm
Qui Nov 16, 2017 5:39 pm
Qui Nov 16, 2017 5:21 pm
Qui Nov 16, 2017 3:33 pm
Qui Nov 16, 2017 2:56 pm
Qui Nov 16, 2017 1:37 pm
Qui Nov 16, 2017 1:20 pm
Qui Nov 16, 2017 11:24 am
Qua Nov 15, 2017 9:32 pm
Qua Nov 15, 2017 9:00 pm
Qua Nov 15, 2017 7:05 pm
Qua Nov 15, 2017 6:05 pm
Qua Nov 15, 2017 2:09 pm
Qua Nov 15, 2017 10:35 am
Qua Nov 15, 2017 2:24 am
Ter Nov 14, 2017 9:54 pm
Ter Nov 14, 2017 9:53 pm
Ter Nov 14, 2017 6:41 pm
Ter Nov 14, 2017 2:25 pm
Ter Nov 14, 2017 12:00 pm
Seg Nov 13, 2017 3:12 pm
jamaisfiih
recagonlei
Zecandy
Zecandy
Phph09
Phph09
gabrielraphael
Phph09
glauco
recagonlei
John Rambo
John Rambo
recagonlei
junkflash30
glauco
recagonlei
recagonlei
recagonlei
Duarte
MarcosSchultz
MarcosSchultz
Callyde Jr
Ronnisz
googolepton
Callyde Jr
Phph09
rafaelllsd
RW.
recagonlei
Phph09
recagonlei
dimmuo
glauco
Phph09
DUT
junkflash30
DUT
ronito
recagonlei
recagonlei
DUT
DUT
Phph09
Phph09
rafaelllsd
glauco
DUT
RW.
otavio00augusto
DUT
DUT
DUT
jamaisfiih
dimmuo
jamaisfiih
Zecandy
DUT
Phph09
Phph09
jamaisfiih
Josivaldo Augusto
BRGC
MRX
recagonlei
recagonlei
sabbath
recagonlei
luiz12345
dstaroski
rafaelllsd
recagonlei
rafaelllsd
recagonlei
recagonlei
recagonlei
PauloFR
PauloFR
PauloFR
Diego Felix
ronito
ronito
Phph09
recagonlei
jamaisfiih
MRX
dstaroski
rafaelllsd
ronito
Phph09
Unidade3d5
AnderGames
Phph09
Giwn
DUT
Zecandy
Callyde Jr
natanael.olimpio
recagonlei
stratengine

[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 : 1921
REPUTAÇÃO : 327
Á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 : 2831
REPUTAÇÃO : 600
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 : 787
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 : 1921
REPUTAÇÃO : 327
Á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 : 1055
REPUTAÇÃO : 143
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 : 1921
REPUTAÇÃO : 327
Á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 : 1055
REPUTAÇÃO : 143
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