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:
Render texture invertida
Como fazer barco estilo minecraft ou estilo navio que da pra andar dentro
Como fazer para o tiro ir para a direção onde o cano está apontado e não para cima
Verificar inventario
Como locomover um trem
Me ajudem, com a criação de terreno !
Pequeno problema com no Debug
Unity Ads ou AdMob!
Como fazer Escudo seguir a movimentação do Player?
Building System
TELEPORT 2D
Adicionar linhas no TXT pelo codigo
[TUTORIAL] Sistema de inventário Sobrevivência
Formação De Equipe Pra Criar RPG
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
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
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
Hoje à(s) 9:37 pm
Hoje à(s) 9:36 pm
Hoje à(s) 9:31 pm
Hoje à(s) 7:39 pm
Hoje à(s) 7:17 pm
Hoje à(s) 6:16 pm
Hoje à(s) 5:37 pm
Hoje à(s) 4:35 pm
Hoje à(s) 4:02 pm
Hoje à(s) 3:54 pm
Hoje à(s) 12:19 pm
Hoje à(s) 12:17 pm
Hoje à(s) 11:00 am
Hoje à(s) 9:00 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) 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 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
g
Unidade3d5
Weslley
Weslley
Zecandy
EndStarsProgramming2
ManoTrevor
guimaraf
JorgeLuizxd
AndyShow
Weslley
Weslley
916anderson
Bruno
JorgeLuizxd
dimmuo
Weslley
Phph09
Weslley
Bruno
GabriG07
Dom3000
Dom3000
g
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

[TUTORIAL] Banco de Dados || SQLite

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

TUTORIAL [TUTORIAL] Banco de Dados || SQLite

Mensagem por RenanMSV em Ter Mar 29, 2016 6:42 pm


As vezes temos projetos que precisam guardar muitos valores, sejam de estatisticas ou mesmo configurações do software que voce está criando... Ai vem aquela dificuldade em ter que guardar tudo isto no PlayerPrefs.

Bem, o PlayerPrefs é uma boa opção para guardar poucos registros ( e ele nem é seguro, se voce n criptografar ou inventar seu proprio codigo de criptografia ele pode ser facilmente alterado pelo Regedit do Windows)...

Então como guardar estes dados de maneira mais organizada e ainda sim ser tão segura quanto PlayerPrefs??

Banco de Dados.  Com um banco de dados podemos criar infinitas tabelas (voce ja vai saber o que é uma tabela) e infinitos registros. Podemos guardar logs, vida do player, fase atual, moedas que ele pegou e muitas outras coisas...

Vou explicar aqui como usar o SQLite. Uma versão de SQL em que o banco de dados fica em seu computador e não na rede como o MySQL. Portanto o usuario poderá usar seu banco de dados mesmo sem estar conectado a internet.

Bem para começar preciso te explicar como foi criado o SQL ...

Mas não vou.. haha vai lá no google preguiça...

Após você saber disso podemos começar.

Um banco de dados é um conjunto de tabelas, que são um conjunto de registros.  Então : BancoDeDados[Tabelas][Registros].

Vamos começar preparando nosso ambiente.

Baixe:

64 bits : http://www.sqlite.org/2016/sqlite-dll-win64-x64-3120000.zip
32 bits: http://www.sqlite.org/2016/sqlite-dll-win32-x86-3120000.zip

No seu projeto do Unity crie uma pasta dentro da pasta Assets chamada Plugins. Coloque o conteudo do arquivo que você baixou.

Proximo passo baixe este programa http://sqlitebrowser.org/ e instale .

Agora dentro do SQLite Browser clique em Novo Banco de Dados, defina um nome e salve na pasta Assets.
Uma aba será aberta, apenas feche-a.

Clique em Executar SQL e cole este comando lá:

Código:

CREATE TABLE `stats` (
 `idpers` INTEGER UNIQUE,
 `power` INTEGER,
 `mana` INTEGER,
 `life` INTEGER,
 PRIMARY KEY(idpers)
);

e execute apertando F5. Irá aparecer lá em baixo no log "Query executed successfully" . Se apareceu deu tudo certo. O que fizemos? Criamos uma tabela chamada 'stats' com os campos 'idpers', 'power', 'mana' e 'life'. Ambos campos somente aceitarão numeros inteiros. Não aceitando letras. Definimos o campo 'idpers' como uma chave primária, dizendo que ele é o campo indice, com o qual iremos usar para pesquisas. Tambem dizemos que ele deve ser unico ! Ou seja não haverá 2 linhas com o mesmo valor no campo 'idpers'.

Bem, agora apague o comando e cole este novo:

Código:
insert into stats values (1,5,100,100);

Se apareceu "Query executed successfully" é porque deu certo. O que fizemos agora? Agora inserimos uma linha dizendo que os valores são 1, 5,100 e 100. Ou seja, 1 do id, 5 de power, 100 de mana e 100 de vida. De acordo com a ordem sempre.

Se você clicar na aba Navegar Dados ja pode ver que estes registros estão lá.

Para verificar todos registros voce tambem pode executar este codigo  :

Código:
select * from stats

e seráo retornados todos registros da tabela 'stats'

os dois modos te deixarão visualizar todos registros da tabela.

Bem agora que ja temos tudo pronto e configurado podemos clicar em Write Changes ou CTRL + S para salvar.

Salvou? Então bora pro Unity.

Copie os arquivos System.Data.dll e Mono.Data.Sqlite.dll de **C:\Program Files (x86)\Unity \Editor\Data\Mono\lib\mono\2.0* e cole na pasta Assets/Plugins* do seu projeto. O caminho para achar estes arquivos pode mudar dependendo de onde voce instalou seu Unity.

Colou tudo certinho?  Então ok.

Crie um C# script e cole isto:

Código:
using UnityEngine;
using System.Collections;
using System;
using System.Data;
using Mono.Data.Sqlite;

public class ConnectDB : MonoBehaviour {
 public string PatchToYourDB,TableName;

 void Start () {
 string conn= "URI=file:" + Application.dataPath + PatchToYourDB; // localização do seu .db é igual a pasta da aplicação + patch
 IDbConnection dbconn; // declarando a conexao
 dbconn = (IDbConnection) new SqliteConnection(conn); // setando ela como nova conexao com nosso .db
 dbconn.Open(); //Abrindo conexão com seu banco de dados.
 IDbCommand dbcmd = dbconn.CreateCommand(); // declarando o executador de comandos
 string sqlQuery = "SELECT * from " + TableName; // criando uma query
 dbcmd.CommandText = sqlQuery; // executando a query
 IDataReader reader = dbcmd.ExecuteReader(); // lendo a query
 while (reader.Read()) // o while é percorrido N vezes. Sendo N igual ao numero de linhas afetadas pela query
 {
 int id = reader.GetInt32(0);  // linha atual. Campo [0]
 int pow = reader.GetInt32(1); // linha atual. Campo [1]
 int man = reader.GetInt32(2); // linha atual. Campo [2]
 int lif = reader.GetInt32(3); // linha atual. Campo [3]

 Debug.Log( "Id do Personagem: " + id + " | Power: " + pow + " | Mana: " + man + " | Vida: " + lif + "."); // escrevendo as estatisticas atuais. Elas mudam em cada loop
 }
 reader.Close(); // fechando e setando tudo como null. É NECESSARIO FECHAR TUDO. Setar como Null é boa pratica mas não é obrigatorio.
 reader = null;
 dbcmd.Dispose();
 dbcmd = null;
 dbconn.Close();
 dbconn = null;
 
 }
}

Os resultados (quando se requisita, os valores serao retornados em um tipo de array de campos. o campo (0) é o idpers, o campo (1) é o power, campo (2) é o mana e o (3) é o life. Tudo irá depender do seu banco de dados. Então é importante entender esta parte.

Na aba inspector coloque o nome do seu banco de dados SeuBanco.db ou /PASTA/SeuBanco.db se ele estiver em uma pasta dentro da pasta Assets.
E em TableName coloque o nome da tabela. Por padrão coloque 'stats'. Ja que criamos a tabela com este nome.

Pronto rode seu jogo.

Resultado :




Veja como é simples de salvar estatisticas e qualquer outra coisa em um banco de dados e recuperar quando quiser.
avatar
RenanMSV
Instrutor

Masculino PONTOS : 1859
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] Banco de Dados || SQLite

Mensagem por RenanMSV em Dom Jun 05, 2016 12:26 pm

Aqui

Código:

 while (reader.Read()) // o while é percorrido N vezes. Sendo N igual ao numero de linhas afetadas pela query
      {
        int id = reader.GetInt32(0);  // linha atual. Campo [0]
        int pow = reader.GetInt32(1); // linha atual. Campo [1]
        int man = reader.GetInt32(2); // linha atual. Campo [2]
        int lif = reader.GetInt32(3); // linha atual. Campo [3]

        Debug.Log( "Id do Personagem: " + id + " | Power: " + pow + " | Mana: " + man + " | Vida: " + lif + "."); // escrevendo as estatisticas atuais. Elas mudam em cada loop
      }

também é possivel pegar o valor pelo seu nome de campo no banco de dados.
Assim:

Código:
 while (reader.Read()) // o while é percorrido N vezes. Sendo N igual ao numero de linhas afetadas pela query
      {
        int id = reader['idpers'];  // linha atual. Campo [0]
        int pow = reader['power']; // linha atual. Campo [1]
        int man = reader['mana']; // linha atual. Campo [2]
        int lif = reader['life']; // linha atual. Campo [3]

        Debug.Log( "Id do Personagem: " + id + " | Power: " + pow + " | Mana: " + man + " | Vida: " + lif + "."); // escrevendo as estatisticas atuais. Elas mudam em cada loop
      }
avatar
RenanMSV
Instrutor

Masculino PONTOS : 1859
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] Banco de Dados || SQLite

Mensagem por yurinmds em Dom Jun 05, 2016 1:18 pm

Obrigado, você teria algum tutorial de um sistema de login com banco de dadosa?

yurinmds
Membro
Membro

PONTOS : 819
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Banco de Dados || SQLite

Mensagem por NotoriousDev em Dom Jun 05, 2016 1:34 pm

yurinmds escreveu:Obrigado, você teria algum tutorial de um sistema de login com banco de dadosa?


olha no topico da posição 2 Argument is Out of Range, la ele postou.
avatar
NotoriousDev
Avançado
Avançado

Masculino PONTOS : 668
REPUTAÇÃO : 9
Idade : 22
Áreas de atuação : Intermediário C# | Modelagem no Blender3D
Respeito as regras :

Ver perfil do usuário http://127.0.0.1

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