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 :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
[VIDEO] Sistema de Yu-Gi-Oh com SQLite
Simulador de policia [C#] [Jogo em andamento] [Procurando Equipe]
DUVIDA MONETIZAÇÃO DE JOGOS NA PLAY STORE COM ADMOB
Qual a sua opinião sobre modelos de negócio e monetização de jogos?
sistema de dinheiro
[TUTORIAL] Simples Sistema De Noite e Dia
Quanto Devo Cobrar Por Um Pacote De Modelos 3D ?
Ajuste em sistema de pontuação!
Tela de seleção e multiplayer local
Documentação do Unity Offline em Português Existe???
[DÚVIDA] BONECO NÃO PULA NA DIAGONAL ESQUERDA E FRENTE
Não consigo atribuir pontos no admob reward.
não concigo atirar
[YOUTUBE DOIDO?] Wtf?
Voltar versão do projeto.
Spawn Random simultâneo em pontos específicos
a iluminacao de pono nao esta passando para o teto , unity
Jogo não roda no Android 5 Samsung
QUERIA SABER SE POSSO VENDER MODELOS 3D AQUI ????
erro no scripts de dano no player 2D
Não Acho o Erro no Script - é um script para o player se mover
[HELP] Criação de dano e player health utilizando photon game 2d
[____ QUAL A OPINIÃO DE VOCÊS SOBRE O FÓRUM? ____]
Texto por Script
Problema com sprite na unity
inimigo não muda de sdirecao ao encostar em um ponto, unity 3d
"Dúvida" Como fazer o personagem entra dentro do carro e dirigir ?
Erro ao compilar
Função do Botão UI pelo Script
Pacote Com 79 Skybox Grátis
[Projeto em Andamento] Brazil Combat
[DÚVIDA] ANIMAÇÃO DE PULO NO CONTROLADOR QUE TEM BLEND TREE COM MOVIMENTO
[RESOLVIDO] Requisitos de hardware para Post Processing
alguem pode ajudar sobre ID@Xbox
[RESOLVIDO] Rigidbody: Alterar drag dentro do jogo
Inventário de Sobrevivencia
[RESOLVIDO] MOVIMENTO USANDO RIGIDIBODY NÃO POSSUI GRAVIDADE.
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
[TUTORIAL] Usando Delegates em Unity - Sistema de caixa de diálogo!
[DUVIDA] Tiro com botao touch android!!
KIT de Tiro em 3° Pessoa
Inimigo atacar e tirar vida do meu personagem!!
Inserir animação em certos elemento
Como bloquear rotação em um eixo do objeto?
Dica para jogo point and click
[RESOLVIDO] Alguem pode ajudar com o pos processamento screen space reflection
Criar Script para configurar um assets de um character
Dúvida de imagem sobre realidade aumentada
Modelo 3D
Erro ao exportar APK no unity
como fazer a bala dar impulso na direcao da arma unity 3d
Render Texture, Raw Image e camera
CENTRO DE ROTAÇÃO UNITY
PRESSIONAR BOTÃO TOUCH NO ANDROID SERÁ O MESMO QUE PRESSIONAR UMA TECLA DO TECLADO REAL
Erro após reinstalar o Unity!
Erro ao publicar na google play
[____ASSET____] MS Vehicle System (FREE VERSION)
[TUTORIAL] Unity 5.5 - Splash Screen
Como adicionar todos materiais de um Obj em um Array ou Lista?
Som não funciona no IOS
Como eu faço pra poder interagir apenas uma vez com um objeto de luz?
Preciso de ajuda com GetButtonDown with Axis
[TUTORIAL] Sistema de DIA E NOITE completo, com luzes noturnas e SISTEMA DE NUVENS
SOU MODELADOR SE TIVER ALGUEM PRECISANDO AI ME CONTATE
[TUTORIAL] IA Simples Parte 2 (Atirar)
Photon Bootcamp Asset completo
Detectando Colisão da Arma com o Inimigo
Como eu faria pra ter uma animação diferente para cada lado em um jogo de plataforma 2D?
duvida sobre sistema de cheats estilo gta sa
como fazer a luz ficar "important" e "not important" por script?
[TUTORIAL] Sistema de Entregas + GPS!
[TUTORIAL] Desenvolvendo um jogo de quebra-cabeças
[TUTORIAL] Gerando Objetos Proceduralmente
[RESOLVIDO] COMO EXECUTAR AUDIO QUANDO PLAYER MORRE
PopUp bloqueando versões antigas do jogo
[TUTORIAL] Sistema de PORTAS e CHAVES
Movimentação 3D View Blender
Imagem Aparecer como pergunta
Aparecer item comprado
Por que a UI da esse "BUG"?
Zerar os tempos do Cronometro Unity
Ajuda na unity
Girar personagem no próprio eixo usando joystick virtual
Problema com Esqueleto do personagem
[TUTORIAL] Script de Contagem Regressiva
Ajuda com o codigo.
Como acessar uma variável de um script utilizando como parâmetro uma variável nomescript
CRIEI MEU PRIMEIRO JOGO! 1 ANO DE TRABALHO!
MOVIMENTAÇAO DE UM CUBO
Duvida sobre materiais e textura
Super Husky - meu jogo
[RESOLVIDO] Duvida sobre Unity
[Em Desenvolvimento] Battles of Worlds
[RESOLVIDO] Converter string em virgula em float (decimal)
[TUTORIAL] Como usar FREE EASY CRIATURA CONTROLE IA
Duvida em relação processo de geração de receita
Me ajudem por favor
[RESOLVIDO] Posicionar interestial admob quando o personagem morrer
JOGO DE CARRO EM 2D E PRECISO DE AJUDA EM SCRIPT QUE VAI PRA FRENTE E PRA TRAZ
Hoje à(s) 1:44 am
Ontem à(s) 10:52 pm
Ontem à(s) 4:50 pm
Ontem à(s) 4:45 pm
Ontem à(s) 3:01 pm
Ontem à(s) 12:53 pm
Ontem à(s) 12:42 pm
Ter Jun 25, 2019 11:25 pm
Ter Jun 25, 2019 10:31 pm
Ter Jun 25, 2019 10:21 pm
Ter Jun 25, 2019 9:27 pm
Ter Jun 25, 2019 7:48 pm
Ter Jun 25, 2019 6:25 pm
Ter Jun 25, 2019 3:45 pm
Ter Jun 25, 2019 3:00 pm
Ter Jun 25, 2019 2:14 pm
Ter Jun 25, 2019 11:18 am
Ter Jun 25, 2019 2:03 am
Seg Jun 24, 2019 10:14 pm
Seg Jun 24, 2019 9:47 pm
Seg Jun 24, 2019 8:44 pm
Seg Jun 24, 2019 5:46 pm
Seg Jun 24, 2019 5:35 pm
Seg Jun 24, 2019 5:22 pm
Seg Jun 24, 2019 5:21 pm
Seg Jun 24, 2019 5:19 pm
Seg Jun 24, 2019 5:19 pm
Seg Jun 24, 2019 5:17 pm
Seg Jun 24, 2019 1:19 pm
Seg Jun 24, 2019 1:09 pm
Dom Jun 23, 2019 9:36 pm
Dom Jun 23, 2019 7:16 pm
Dom Jun 23, 2019 1:30 pm
Dom Jun 23, 2019 11:21 am
Dom Jun 23, 2019 10:52 am
Sab Jun 22, 2019 9:50 pm
Sab Jun 22, 2019 7:28 pm
Sab Jun 22, 2019 4:56 pm
Sab Jun 22, 2019 4:35 pm
Sab Jun 22, 2019 3:23 pm
Sab Jun 22, 2019 3:20 pm
Sab Jun 22, 2019 1:09 am
Sex Jun 21, 2019 5:51 pm
Sex Jun 21, 2019 1:20 am
Qui Jun 20, 2019 11:58 pm
Qui Jun 20, 2019 11:56 pm
Qui Jun 20, 2019 11:18 pm
Qui Jun 20, 2019 11:17 pm
Qui Jun 20, 2019 11:16 pm
Qui Jun 20, 2019 11:09 pm
Qui Jun 20, 2019 11:00 pm
Qui Jun 20, 2019 10:57 pm
Qui Jun 20, 2019 10:52 pm
Qui Jun 20, 2019 10:50 pm
Qui Jun 20, 2019 10:45 pm
Qui Jun 20, 2019 10:42 pm
Qui Jun 20, 2019 10:34 pm
Qui Jun 20, 2019 10:33 pm
Qui Jun 20, 2019 10:31 pm
Qui Jun 20, 2019 10:20 pm
Qui Jun 20, 2019 10:08 pm
Qui Jun 20, 2019 9:43 pm
Qui Jun 20, 2019 9:40 pm
Qui Jun 20, 2019 2:52 pm
Qua Jun 19, 2019 11:05 pm
Qua Jun 19, 2019 8:02 pm
Qua Jun 19, 2019 3:35 pm
Qua Jun 19, 2019 3:30 pm
Ter Jun 18, 2019 8:05 pm
Ter Jun 18, 2019 10:06 am
Ter Jun 18, 2019 10:02 am
Ter Jun 18, 2019 9:46 am
Seg Jun 17, 2019 9:42 pm
Seg Jun 17, 2019 8:17 pm
Dom Jun 16, 2019 1:16 pm
Dom Jun 16, 2019 4:03 am
Sab Jun 15, 2019 5:52 pm
Sab Jun 15, 2019 1:43 pm
Sab Jun 15, 2019 12:01 am
Sex Jun 14, 2019 10:47 pm
Sex Jun 14, 2019 9:39 pm
Sex Jun 14, 2019 9:20 pm
Sex Jun 14, 2019 8:56 pm
Sex Jun 14, 2019 8:31 pm
Sex Jun 14, 2019 7:09 pm
Sex Jun 14, 2019 6:26 pm
Sex Jun 14, 2019 8:59 am
Sex Jun 14, 2019 5:25 am
Qui Jun 13, 2019 7:33 pm
Qui Jun 13, 2019 1:02 pm
Qua Jun 12, 2019 8:26 pm
Qua Jun 12, 2019 5:27 pm
Qua Jun 12, 2019 3:54 pm
Qua Jun 12, 2019 2:50 pm
Qua Jun 12, 2019 12:13 pm
Ter Jun 11, 2019 5:26 pm
Ter Jun 11, 2019 3:43 pm
Seg Jun 10, 2019 12:24 pm
Dom Jun 09, 2019 3:19 pm
Giwn
Giwn
artplayer
artplayer
JhoowGamer
JhoowGamer
Magnatah
danielPedra90
xxxlipehxxx
Magnatah
osiasbezerra
slevimk
DESTRUITOR
yurinogueira
SteveRogers
ffabim
Magnatah
lhm
Magnatah
DESTRUITOR
Diguinho
Diguinho
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Caue
MarcosSchultz
NKKF
NKKF
JohnRambo
osiasbezerra
guimaraf
yurinogueira
JonathanDiego
yurinogueira
osiasbezerra
Tegh
Tegh
alisonzinhod
alisonzinhod
osiasbezerra
artplayer
MarcosSchultz
abraao36
diegopds
MarcosSchultz
numb123
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
XxzeroChinxX 999
Matrirxp
artplayer
MarcosSchultz
MarcosSchultz
Diguinho
MarceloYBP
JhoowGamer
Diego Felix
Matrirxp
Diego Felix
Diguinho
MarcosSchultz
lesgoy
MayLeone
Magnatah
glauco
Magnatah
Magnatah
Magnatah
Magnatah
Magnatah
artplayer
Tegh
fluminintia
diegopds
ronigleydson
GameLACK
poyser
Dom3000
numb123
Unidade3d5
poyser
JohnRambo
slevimk
Magnatah

[TUTORIAL] Banco de Dados || SQLite

Ir em baixo

TUTORIAL [TUTORIAL] Banco de Dados || SQLite

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

[TUTORIAL] Banco de Dados || SQLite Sqlite-database

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 :

[TUTORIAL] Banco de Dados || SQLite 2h5nqr8


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

Masculino PONTOS : 2503
REPUTAÇÃO : 346
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras : [TUTORIAL] Banco de Dados || SQLite Aad8pUi

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
      }
RenanMSV
RenanMSV
Instrutor

Masculino PONTOS : 2503
REPUTAÇÃO : 346
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras : [TUTORIAL] Banco de Dados || SQLite Aad8pUi

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 : 1462
REPUTAÇÃO : 1
Respeito as regras : [TUTORIAL] Banco de Dados || SQLite WvDYdlf

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.
NotoriousDev
NotoriousDev
Desenvolvedor

Masculino PONTOS : 1452
REPUTAÇÃO : 37
Idade : 23
Áreas de atuação : Programação C#
Respeito as regras : [TUTORIAL] Banco de Dados || SQLite WvDYdlf

Ver perfil do usuário http://127.0.0.1

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

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