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:
Script sem erro, mas não funciona
[Duvida] Com NavMesh;
Cut Scene com video player
Site Profissional Completo Gratis para Jogos
Como criar um timer?
[Duvida] Com LookAt
[Resolvido]Objeto não está sendo instanciado
[DUVIDA] - Pontuação e fim de jogo
Network Manager opção sumiu
[DUVIDA] Shader
PROBLEMA TEXTURA E TELA GAME
[Resolvido] Colisores nao colidem!!
Como colocar dano no inimigo? e vida no player?
O que falta??
OBJETO INSTANCIANDO EM POSIÇÃO ERRADA
QUEM AI TA DISPOSTO A DESENVOLVER UM GAME EM EQUIPE??
Como faz para colocar som nos passos do personagem?
[TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
Receber tiro(animação)
QUER UMA PEQUENA GAMEPLAY DO MEU GAME?
Sistema de Sensibilidade Do Mouse X e Y!
Limite de tela
[Resolvido]COMO CONSULTAR O PAINEL DE PREFERENÇIAS DA UNITY?
Alguém poderia me dizer o que estou fazendo de errado nesses scripts? (Vuforia SDK).
[RESOLVIDO] Como movimentar um objeto de um lado para o outro
Movimento de rotação entre dois objetos
Ajuda sobre melhorar a Fricção no Wheel Collider
[Duvida] script para criar um servidor automaticamente
Alguem Me Ajuda A Corrigir Um Erro Em Uma Conexão Com mysql
Como faz para pular?
For lista
sombrancelha do mixamo
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Atingir inimigo e ele se destruir
Alguns modelos low poly
Pegar coisas do chao
Checkpoint e Respawn
Teste jogo em andamento "Infiltraded"
Alguem quer ajudar em meu jogo???
[Resolvido]Como achar um objeto por componente?
Coletar
[TUTORIAL] Banco de Dados || PHP
[Resolvido] Como fazer o objeto colidir uma vez e tão ficar tremendo?
Problema com rotação de objeto
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
como fazer sombras pixelizadas
[Dúvida]Como selecionar o local de destino do "Application.CaptureScreenshot"
[Resolvido]Como se faz agua?
fps camera não vai para cima e para baixo network unity como resolver?
[Resolvido]Digitar um número e sair um áudio
[TUTORIAL] Unity 5 - Alterar Post-processing Stack através de um SCRIPT
erro AI Enemy
Colisão igual a reproduzir som
Random sem repetir a palavra
COMO POSSO FAZER MUDAR DE CENA QUANDO ABRIR A PORTA
Pegar o gameObject conectado a outro
Como alterar a cor dos pixel um a um de uma renderização
Atualização da unity
Salvar Score e Substituir caso faça Mais!
[Duvida] Em Relacao A Manerira com que exnxergam o player
LoadScene De um Jeito Diferente [duvida]
O que acham dos meus modelos? (Prédios)
[Vídeo] - Avaliem essa gameplay do meu jogo por favor?!
Formação de Equipe Battle of Worlds
MySql + Unity 5.5 Não esta funcionando
Pontos luminosos em objeto 3D
[Duvida] Sistema de recarregamento Precário.
Jogo Teste - Survive
[RESOLVIDO] Problema com objeto 3D após mudar cena
Atualização
Projeto B
Galerapresciso de vozes?
The Pyramid demo 1.0.0
[TUTORIAL] Sistema de Lanterna com Pilhas
Equipe para criar um jogo estilo "My summer car" porém totalmente BR
Script + Direção
Build
[Duvida] Objeto se deforma ao ser rotacionado como filho.
Projeto - Girl Blade
Salvar abates
ALGUEM PODE ME DIZER COM FAZER UMA CUTSCENE IGUAL O JOGO SCHULTZ
[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Duvida sobre GetKeyDown !!!!
[ PLAYLIST ] - Musicas para escutar enquanto desenvolve seu jogo! (Sem funk)
Como funciona as variaveis bool?
Cenarios 3D para Unity!
Janela da cena com fps baixissimo, mas o jogo fica normal
[Duvida] Objeto acha o palyer, mas nao o segue!
ALGUEM SABE COMO EU POSSO COLOCAR SANGUE NO CHÃO
[Modelo 3D] Escada enferrujada Download grátis
(DUVIDA) Script de EXP
[Duvida] Como achar objetos mais proximos
[TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera
[Duvida] Como dizer quantos elementos uma array vai ter?
Custo de desenvolvimento de Game tipo GTA
Problema com scripts e não sei como resolver Pfv Me ajudem
Script do Inimigo seguir e atacar com erro
Preciso de pessosa que queiram emprestar a voz para o game
Selecionar apenas o objeto filho
Hoje à(s) 1:06 am
Hoje à(s) 12:48 am
Ontem à(s) 11:41 pm
Ontem à(s) 11:35 pm
Ontem à(s) 11:34 pm
Ontem à(s) 11:31 pm
Ontem à(s) 10:13 pm
Ontem à(s) 9:57 pm
Ontem à(s) 9:38 pm
Ontem à(s) 9:02 pm
Ontem à(s) 8:25 pm
Ontem à(s) 8:23 pm
Ontem à(s) 8:00 pm
Ontem à(s) 6:24 pm
Ontem à(s) 6:23 pm
Ontem à(s) 5:51 pm
Ontem à(s) 5:51 pm
Ontem à(s) 5:50 pm
Ontem à(s) 4:40 pm
Ontem à(s) 4:30 pm
Ontem à(s) 4:03 pm
Ontem à(s) 3:43 pm
Ontem à(s) 3:15 pm
Ontem à(s) 2:44 pm
Ontem à(s) 2:41 pm
Ontem à(s) 2:13 pm
Ontem à(s) 2:12 pm
Ontem à(s) 2:10 pm
Ontem à(s) 2:00 pm
Ontem à(s) 1:56 pm
Ontem à(s) 1:55 pm
Ontem à(s) 8:25 am
Ontem à(s) 8:19 am
Ontem à(s) 7:45 am
Ontem à(s) 6:57 am
Ter Maio 23, 2017 10:26 pm
Ter Maio 23, 2017 10:16 pm
Ter Maio 23, 2017 9:33 pm
Ter Maio 23, 2017 8:52 pm
Ter Maio 23, 2017 8:04 pm
Ter Maio 23, 2017 7:52 pm
Ter Maio 23, 2017 7:10 pm
Ter Maio 23, 2017 4:59 pm
Ter Maio 23, 2017 4:10 pm
Ter Maio 23, 2017 4:05 pm
Ter Maio 23, 2017 4:02 pm
Ter Maio 23, 2017 3:59 pm
Ter Maio 23, 2017 3:49 pm
Ter Maio 23, 2017 3:46 pm
Ter Maio 23, 2017 3:39 pm
Ter Maio 23, 2017 3:36 pm
Ter Maio 23, 2017 3:29 pm
Ter Maio 23, 2017 3:24 pm
Ter Maio 23, 2017 3:08 pm
Ter Maio 23, 2017 2:57 pm
Ter Maio 23, 2017 2:53 pm
Ter Maio 23, 2017 2:52 pm
Ter Maio 23, 2017 2:45 pm
Ter Maio 23, 2017 2:35 pm
Ter Maio 23, 2017 2:33 pm
Ter Maio 23, 2017 2:10 pm
Ter Maio 23, 2017 1:45 pm
Ter Maio 23, 2017 1:39 pm
Ter Maio 23, 2017 12:31 pm
Ter Maio 23, 2017 8:49 am
Ter Maio 23, 2017 8:17 am
Seg Maio 22, 2017 8:43 pm
Seg Maio 22, 2017 5:32 pm
Seg Maio 22, 2017 2:55 pm
Seg Maio 22, 2017 2:35 pm
Seg Maio 22, 2017 2:27 pm
Seg Maio 22, 2017 1:41 pm
Seg Maio 22, 2017 1:41 pm
Seg Maio 22, 2017 12:28 pm
Seg Maio 22, 2017 12:20 pm
Seg Maio 22, 2017 10:49 am
Seg Maio 22, 2017 9:56 am
Seg Maio 22, 2017 9:15 am
Seg Maio 22, 2017 7:39 am
Dom Maio 21, 2017 9:49 pm
Dom Maio 21, 2017 8:34 pm
Dom Maio 21, 2017 7:35 pm
Dom Maio 21, 2017 4:08 pm
Dom Maio 21, 2017 3:14 pm
Dom Maio 21, 2017 2:36 pm
Dom Maio 21, 2017 1:29 pm
Dom Maio 21, 2017 1:29 pm
Dom Maio 21, 2017 11:26 am
Dom Maio 21, 2017 11:12 am
Sab Maio 20, 2017 11:15 pm
Sab Maio 20, 2017 11:15 pm
Sab Maio 20, 2017 10:24 pm
Sab Maio 20, 2017 8:17 pm
Sab Maio 20, 2017 7:59 pm
Sab Maio 20, 2017 5:41 pm
Sab Maio 20, 2017 5:36 pm
Sab Maio 20, 2017 3:45 pm
Sab Maio 20, 2017 1:13 am
Sab Maio 20, 2017 12:23 am
aleksander700
PauloFR
hrr23
fecirineu
ericdss
DuViDoSo34
thiagograssi
PauloFR
thiagograssi
Xurupitinha
Miss Talon
Junim
Manawydan
MarcosSchultz
bruxamissi
Junim
marcos4503
JCLEON
aleksander700
Mic4el
bruxamissi
Xurupitinha
marcos4503
WolfTheZelda
Games Indie
MarcosSchultz
MarcosSchultz
MarcosSchultz
Bruninho
MarcosSchultz
MarcosSchultz
dstaroski
dstaroski
dstaroski
Mic4el
Matrirxp
Matrirxp
#N31
artplayer
Dom3000
marcos4503
Callyde Jr
BatataName
thzin
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
iagokennedyy
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
glauco
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
GameS DoG
iagokennedyy
iagokennedyy
Dom3000
sabbath
dstaroski
dstaroski
zZAndersonZz
Marc7
marcos4503
marcos4503
Dom3000
Callyde Jr
IanLuan
JackJones
iagokennedyy
dstaroski
DuViDoSo34
dstaroski
bruxamissi
glauco
bruxamissi
LucasGamerFx
marcos4503
weslleyFx
Gray_14
rafaelllsd
DuViDoSo34
glauco
MateusWTP
bruxamissi
DuViDoSo34
marcos4503
DuViDoSo34
tom ramber
LucasGamerFx
Callyde Jr
thiagograssi
thiagograssi

[TUTORIAL] Trocar jogo de linguagem facilmente com UI Dropdown v2.

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

TUTORIAL [TUTORIAL] Trocar jogo de linguagem facilmente com UI Dropdown v2.

Mensagem por RenanMSV em Qui Set 15, 2016 12:13 pm

Andei pesquisando na internet e achei um projeto de manipulação de arquivos ini muito interessante e util. Resolvi criar então um sistema que faça a troca facil de linguagens com esses arquivos. Sendo possivel usuarios criarem suas proprias traduções e seu jogo as reconhecerá.

Funciona bem simples. O jogo lê um arquivo .ini com os textos, identifica qual linguagem é, e seta na sua cena texto por texto.

Primeiramente vamos instalar o projeto de manipulação de arquivos .ini. Baixe: https://github.com/rickyah/ini-parser/archive/development.zip

Abra o zip e vá em src e extraia apenas a pasta IniFileParser para seu projeto no unity.

Pronto agora crie esses 2 scripts:

Código:

using UnityEngine;
using UnityEngine.UI;
using System;
using System.Collections;
using System.IO;
using System.Text;
using IniParser;
using IniParser.Model;


public class Language : MonoBehaviour {
   IniData data;
   FileIniDataParser fileIniData;
   string patch;
   public string[] languageFiles;
   public string[] gameTexts;
   public Dropdown languageDropdown;

   void Start () {
      InitializeLanguageSystem ();
      SetDropdownOptions ();
   }

   /// <summary>
   /// Initializes the language system.
   /// </summary>
   void InitializeLanguageSystem(){
      patch = Application.dataPath + "/StreamingAssets/Local/Languages/";
      fileIniData = new FileIniDataParser();
   }

   /// <summary>
   /// Sets the dropdown options.
   /// </summary>
   void SetDropdownOptions (){
      try {
         languageFiles = Directory.GetFiles (patch,"*.ini",SearchOption.TopDirectoryOnly);
         if (languageFiles.Length == 0) {
            OnLanguageFilesMissed("Not find any files in '" + patch + "'");
            return;
         }
      } catch (Exception e) {
         OnLanguageFilesMissed(e.Message);
         return;
      }
      foreach (string local in languageFiles) {
         data = fileIniData.ReadFile (local);
         languageDropdown.options.Add( new Dropdown.OptionData{ text = data ["LanguageName"] ["NAME"]} );
      }
      languageDropdown.value = 1; // corrige bug do dropdown ficar vazio
      if (PlayerPrefs.HasKey ("languageValue")) {
         languageDropdown.value = PlayerPrefs.GetInt ("languageValue");
      } else {
         languageDropdown.value = 0;
         PlayerPrefs.SetInt ("languageValue", 0);
      }
      languageDropdown.onValueChanged.AddListener((int arg)=>{
         HandleTexts ();
      });
      HandleTexts ();
   }

   /// <summary>
   /// Handles the texts.
   /// </summary>
   void HandleTexts (){
      data = fileIniData.ReadFile (languageFiles[languageDropdown.value]);
      KeyDataCollection keys = data.Sections.GetSectionData ("Language").Keys;
      int i = 0;
      gameTexts = new string[keys.Count];
      foreach (KeyData k in keys) {
         gameTexts[i] = k.Value;
         i++;
      }
      PlayerPrefs.SetInt ("languageValue",languageDropdown.value);
      SetTextsScript[] tempTexts = FindObjectsOfType<SetTextsScript> ();
      foreach (SetTextsScript t in tempTexts) {
         t.Handle ();
      }
   }



   // Eventos a gosto do Desenvolvedor :

   /// <summary>
   /// Raises the language files missed event.
   /// </summary>
   /// <param name="error">Error string.</param>
   void OnLanguageFilesMissed(string error){
      // o que fazer quando a pasta ou os arquivos não puderem ser recuperados!
      // crie novos arquivos, mande a pessoa reinstalar ou sla.
      print("Erro: " + error + " Reinstale o jogo!");
   }
}

Código:

using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class SetTextsScript : MonoBehaviour {
   Text txt;
   Language lang;
   public int index;

   void Awake(){
      lang = FindObjectOfType<Language>().GetComponent<Language>();
      txt = GetComponent<Text> ();
   }

   public void Handle(){
      if (!lang) {
         print ("Object not Found");
         return;
      }
      txt.text = lang.gameTexts[index];
   }
}

Agora para fazer funcionar basta que voce coloque o script SetTextsScript em cada UI Text que voce criar e colocar na variavel index de cada o index correto.
Se voce colocar 0 o texto vai ser o primeiro que estiver no arquivo de traducao...se botar 1 será o segundo... 2 o terceiro.....


Bem simples.

Veja que no primeiro script há um evento OnLanguageFilesMissed(string error)

Abra o script e edite o que acontecerá caso os arquivos ou a pasta não possam ser encontrados no pc do jogador.

Como criar suas traduções:

Basta copiar algum arquivo da pasta StreamingAssets/Local/Languages/, renomear com o nome da linguagem (exemplo: frances) e traduzir todas as frases. Depois abra o jogo novamente para as novas linguagens aparecerem na lista do dropdown.


O resultado:



Link para baixar o projeto junto com os arquivos de linguagem utilizados (IMPORTANTE BAIXAR ! QUALQUER MUDANÇA NA ESTRUTURA DOS ARQUIVOS FARÁ O SISTEMA NÃO FUNCIONAR).

https://github.com/RenanMsV/Unity-3D-Language-System-with-rickyah-ini-parser/


Última edição por RenanMSV em Qui Set 15, 2016 12:58 pm, editado 1 vez(es)
avatar
RenanMSV
Instrutor

Masculino PONTOS : 1737
REPUTAÇÃO : 324
Á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] Trocar jogo de linguagem facilmente com UI Dropdown v2.

Mensagem por artplayer em Qui Set 15, 2016 12:43 pm

Legal cara, vai ajudar muita gente! Parabéns pela iniciativa!  cheers
avatar
artplayer
ProgramadorMaster

Masculino PONTOS : 917
REPUTAÇÃO : 208
Idade : 32
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Trocar jogo de linguagem facilmente com UI Dropdown v2.

Mensagem por RenanMSV em Qui Set 15, 2016 1:03 pm

artplayer escreveu:Legal cara, vai ajudar muita gente! Parabéns pela iniciativa!  cheers

Obrigado ! lol! cheers


@edit Adicionado link para download dos scripts junto com os arquivos de linguagem. É importante baixar e seguir a estrutura desses arquivos. Apenas adicione novos campos de texto usando MSG0008,MSG0009,MSG0010............. e por ai vai.
Qualquer mudança na estrutura do arquivo ini irá dar erro.
Na verdade o nome de cada campo não importa, voce pode botar qualquer coisa no nome, mas é bom manter a ordem não é mesmo?
O que importa é a posição deles.
avatar
RenanMSV
Instrutor

Masculino PONTOS : 1737
REPUTAÇÃO : 324
Á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] Trocar jogo de linguagem facilmente com UI Dropdown v2.

Mensagem por dstaroski em Qui Set 15, 2016 1:55 pm

Parabéns brother! Excelente tutorial! Abraços!
avatar
dstaroski
Instrutor

Masculino PONTOS : 1287
REPUTAÇÃO : 330
Idade : 27
Áreas de atuação : Téc. Hardware e Redes, Programação C#, Desenvolvimento Android

Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Trocar jogo de linguagem facilmente com UI Dropdown v2.

Mensagem por WiredD em Qui Set 15, 2016 2:28 pm

Dahoura vlws
avatar
WiredD
Avançado
Avançado

PONTOS : 588
REPUTAÇÃO : 14
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