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:
Destruindo objeto em uma outra cena
alguem tem xbox one?
Cryengine 3?
como usar o Lookat com o addforce do rigidibody?
[____TÓPICO LIVRE____] FALE O QUE QUISER
Transferência de valores.
Teste de usuário para um jogo
Ajuda com variaveis multiplas?
Animação da arma (Mirar/Recarregar)
script
Dash2D
[TUTORIAL] Barra de VIDA / HP contínua
Tornar objeto filho por script
Time.timeScale continua em 0
Animacao2D
Duvida Animation Play não faz nada
Unity 5 Bugado
Escolher que resoluções jogo vai ter
Baixar Documentaçao Unity 3D?
COMO DESATIVAR O SCRIPT "FisrtPersonController" DO PLAYER ATRAVÉS DE OUTRO SCRIPT
Ajuda Movimento2D
AJUDA COM BAKE EM LUZES
Tem como editar o inspector?
[TUTORIAL] Como Abrir e Fechar Gavetas - Unity 5
Números aleatorios
[TUTORIAL]Save Load Criptografado (Atualizado 07/12/16)
Trocar de true pra false em uma animação bool
[TUTORIAL] Alterarando o ícone do Executável do Jogo
É assim que se começa um "novo mundo" na era medieval? kkjk
Baixar Unity ?
R7 - GOOH (resident evil 7)
Unity 5 + um pouco de conhecimento ou Skyrim?
Procuro vagas em equipes [Programador]
Help minha void oncollisionenter nao funciona e nao consio encontrar o do por que :/
Converter um Gameobject para uma byte array (byte[])
Asset de FPS - AU FPS Kit [unity 5] v1.5
[TUTORIAL] Dicas de otimização
Preciso saber o ponto medio entre dois Transform
[TUTORIAL] Banco de dados || MySQL
Unity 5.5 BETA (Mudanças)
[TUTORIAL] Serialização - JSON
[TUTORIAL] Melhorar a estabilidade dos veículos com Wheel Collider
[TUTORIAL]Como colocar videos ou intros simples na unity free
[TUTORIAL] Deformar o terreno
[TUTORIAL] Scripts Básicos para Iniciantes
Qual asset comprar?
Ideias para level design 3D
[TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Alien Planet - Atmospheric scattering test
Integração PHP e Unity
Ideia Inovadora
[TUTORIAL] DANO POR QUEDA e BARRA DE VIDA CONTÍNUA no mesmo script
Pra que serve o [SerializeField] e por que usar ele?
Forma uma equipe
Feixe de luz - melhor forma de fazer
erro sinistro
Duvida sobre o Peso do jogo?
Alquem tem alguma ideia de como fazer o Player tipo a cabeça olhar para o seu inimigo?
Como mudar rotacao de um objeto em relacao a posicao do outro objeto
Gostaria da opinião de vocês sobre o beta da Unity
Script
[TUTORIAL] Sistema de Escada Estilo FPS
Guitar The Legends of Brazil
[TUTORIAL] Escolher a quantos FPS (fixos) o seu jogo deverá rodar.
Examinar
Formação de Equipe Battle of Worlds
me ajudem neste script para subir escada
Texturas
script por favor me ajudem
Tem como saber o Tamanho do Objeto?
Banco de dados Aleatorio
Procuro desenhista para jogo 2D Pixel Art (Compra)
[Dúvida] Blender erro ao aplicar osso na mesh
[resolvido]enfiar float no UItext por script
Daria para pegar as horas do computador e por no jogo?
Hoje à(s) 7:38 am
Hoje à(s) 7:01 am
Hoje à(s) 6:17 am
Hoje à(s) 1:11 am
Hoje à(s) 12:23 am
Ontem à(s) 11:58 pm
Ontem à(s) 11:55 pm
Ontem à(s) 10:57 pm
Ontem à(s) 10:22 pm
Ontem à(s) 10:03 pm
Ontem à(s) 8:53 pm
Ontem à(s) 8:51 pm
Ontem à(s) 8:47 pm
Ontem à(s) 8:45 pm
Ontem à(s) 8:42 pm
Ontem à(s) 8:36 pm
Ontem à(s) 8:32 pm
Ontem à(s) 8:30 pm
Ontem à(s) 8:22 pm
Ontem à(s) 7:47 pm
Ontem à(s) 5:54 pm
Ontem à(s) 5:50 pm
Ontem à(s) 4:31 pm
Ontem à(s) 4:16 pm
Ontem à(s) 3:40 pm
Ontem à(s) 3:26 pm
Ontem à(s) 3:01 pm
Ontem à(s) 2:31 pm
Ontem à(s) 1:06 pm
Ontem à(s) 10:42 am
Ter Dez 06, 2016 11:07 pm
Ter Dez 06, 2016 10:46 pm
Ter Dez 06, 2016 10:30 pm
Ter Dez 06, 2016 6:02 pm
Ter Dez 06, 2016 5:01 pm
Ter Dez 06, 2016 3:31 am
Seg Dez 05, 2016 11:52 pm
Seg Dez 05, 2016 6:52 pm
Seg Dez 05, 2016 6:48 pm
Seg Dez 05, 2016 6:32 pm
Seg Dez 05, 2016 6:17 pm
Seg Dez 05, 2016 6:15 pm
Seg Dez 05, 2016 4:08 pm
Seg Dez 05, 2016 3:10 pm
Seg Dez 05, 2016 1:36 pm
Seg Dez 05, 2016 12:35 pm
Dom Dez 04, 2016 10:52 pm
Dom Dez 04, 2016 6:37 pm
Dom Dez 04, 2016 6:33 pm
Dom Dez 04, 2016 5:46 am
Dom Dez 04, 2016 3:34 am
Sab Dez 03, 2016 11:36 pm
Sab Dez 03, 2016 11:31 pm
Sab Dez 03, 2016 1:32 pm
Sab Dez 03, 2016 10:53 am
Sab Dez 03, 2016 1:25 am
Sab Dez 03, 2016 1:11 am
Sab Dez 03, 2016 1:08 am
Sex Dez 02, 2016 11:20 pm
Sex Dez 02, 2016 11:15 pm
Sex Dez 02, 2016 11:10 pm
Sex Dez 02, 2016 11:08 pm
Sex Dez 02, 2016 10:58 pm
Sex Dez 02, 2016 10:52 pm
Sex Dez 02, 2016 10:50 pm
Sex Dez 02, 2016 10:04 pm
Sex Dez 02, 2016 9:12 pm
Sex Dez 02, 2016 8:53 pm
Sex Dez 02, 2016 8:49 pm
Sex Dez 02, 2016 12:46 pm
Sex Dez 02, 2016 11:53 am
Sex Dez 02, 2016 8:06 am
Qui Dez 01, 2016 11:31 pm
Qui Dez 01, 2016 10:46 pm
Qui Dez 01, 2016 7:28 pm
dstaroski
dstaroski
Callyde Jr
George Lucas Vieira
artplayer
Matrirxp
zBanidor
MarcosSchultz
zBanidor
artplayer
MarcosSchultz
MarcosSchultz
DoctorGame15
dstaroski
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
hetrodo_gamer
Marlonwanger
diegopds
Dom3000
joabr
natanael.olimpio
hetrodo_gamer
hetrodo_gamer
Callyde Jr
AndyShow
dstaroski
Tadaora
Dom3000
Creat Games
Dom3000
hetrodo_gamer
dimmuo
Dom3000
Dom3000
artplayer
weslleyFx
RenanMSV
weslleyFx
Deiverson
John Rambo
Deiverson
Madness
Madness
weslleyFx
weslleyFx
artplayer
Madness
weslleyFx
weslleyFx
mafipt
dimmuo
Dom3000
Dom3000
Dom3000
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Dom3000
edumoran
dstaroski
dstaroski
Dom3000
artplayer
mlmattos
rafaelllsd
weslleyFx
Extreme Craft

[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)

RenanMSV
Instrutor

Masculino PONTOS : 1521
REPUTAÇÃO : 309
Á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 weslleyFx 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

weslleyFx
Moderador

Masculino PONTOS : 1873
REPUTAÇÃO : 404
Idade : 18
Áreas de atuação : Csharp programming language 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

luKkaSs
Avançado
Avançado

Masculino PONTOS : 417
REPUTAÇÃO : 14
Idade : 20
Áreas de atuação : Unity 3D
3DS Max
Gta3 script
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 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.

RenanMSV
Instrutor

Masculino PONTOS : 1521
REPUTAÇÃO : 309
Á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

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