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:
Modelagem de personagem e cenário
[____TÓPICO LIVRE____] FALE O QUE QUISER
Ajuda com Script "NullReferenceException: Object reference not set to an instance "
[AJUDA] Carro virando rapido de mais
Como usar uma animação de uma arma animada na Unity...
[TUTORIAL] Script de pulo para jogos 3D em geral (Unity - C#)
[RESOLVIDO] Instanciar um objeto como filho
Cor
Jogo 2d com obstáculos em movimento que quando batem no personagem ele vai para debaixo do chão
[Teste]Laqua - Jogo de slá oque
Jogo para Android, testem por favor
//Script com tuto//
[AJUA] JOGO MUDO SEM SOM!!!
[TUTORIAL] UNITY 5 - Efeito submerso (underwater effect), distorção da água e gotas na tela
[RESOLVIDO] Rádio por distancia
[_____CRONOGRAMA DO CANAL_____]
saindo do jogo caso um programa não estiver aberto
QUIOFOBIA DEMO-JOGO DE TERROR INDIE
Sistema CFD com Unity: Simular partículas com colisão em túnel de vento
[RESOLVIDO] Script destruir apenas o objeto que o tem
SISTEMA DE CARGA
[ERRO] Unity Bug Reporter
RIGIDBODY IR PARANDO DE QUICAR
ESTOU COM UM ERRO DE SCRIPT ALGUEM PODE ME AJUDAR
Procurando animador
tenho um script que faz o zombie atacar o jogador e tirar vida so que nao esta funcionando alguem pode me ajudar
Sistema de build place
[2 interiores Modelo] + Download Grátis --Para uso comercial!
Pode coolocar os jogos que aprendeu a fazer no youtube a venda?
sistema de combos e danos
PRECISO DE UMA PESSOA QUE DESENHE PERSONAGEM E CENARIO
Modelos 3D
ROLLER BALL DO STANDARD ASSETS
SCRIPT DE INTELIGENCIA ARTIFICIAL PARA ZUMBI, DESVIAR DE OBJETOS E ATACAR JOGADOR
[Resolvido]Trocar cena ao eliminar objetos
Menu Right Click igual Tibia
Sistema de Skins estilo CsGo ou Critical Ops...
[RESOLVIDO] Carro flutuando
TELA ROSA NO GAME
Como usar o Multi Touch para movimentar um personagem ?
[DUVIDA] Script Não Funciona
[TUTORIAL] Unity 5 - Como criar o próprio FPS Controller
[Assets/Scripts] Repositório no Github com sistemas free.
// RAIN no unity//
[DÚVIDA]Texto Não Aparece Unity 5
Texturização para Game em android
Como fazer aparecer notificações no celular android?
Limite e Volta no transform translate
objeto descer ao apertar um botão
[RESOLVIDO]Erro com script OnTriggerEnter e BoxCollider
Duvida com script
Problema com Animation
Ajudem com efeito "gelatina" em modelos.
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
Testem meu Jogo de Aventura
Inteligência Artificial
Como fazer 1 Portal
[Assets] modelos 3d
Da para criar com o unity?
Existe algum tipo de FPSController para android?
[TUTORIAL] Unity 5 - Porta automática
Problema com o MonoDevelop
Como melhorar desempenho de animações
Cena Loading para carregar proximo Level
como criar um jogo igual a guitar hero?
(Dúvida) Erro criar sala com Photon.
Dicas para otimizar o meu jogo
Sistema de construção estilo habbo
[ERRO] Fatal Error Unity!!!
Fazer um Certo Ponto da mesh mudar de cor como um botão piscando
PlayerPrefs
Dúvida sobre instantiate!
Footsteps no CharacterController (Unity 5)
Como fazer objetos não atravessar paredes usando transform.Translate?
Quando meu inimigo morre todos morrem, alguem ajuda ?
Asset Store
Mudar cor de um material por Script de forma suave
[Dúvida] Otimização
[DUVIDA] Como utilizar o touch no Android em um jogo 2D
[TUTORIAL] Spawn de objetos aleatorios em lugares aleatorios
Mudança no NavMeshAgent?
Script para saber se ena está ativa ou carregada
Duvida
Inserir uma página da web dentro do meu jogo
[TUTORIAL] Acessar propriedades dos SHADERS através de SCRIPTS
// Sistema de Afogamento//
Inimigo seguir quando ver o player
Jogo da Memória para crianças. (Android)
(Dúvida) Mirar em terceira pessoa.
Eu produzi esse jogo na unity e gostaria que vocês testassem e avaliassem
I.A Que ataca qualquer coisa inclusive Players..
[DUVIDA]Pergunta Aleatória
Teclado igual o jogo do milhão
Modelos 3d para uso gratuito ou comercial
[TUTORIAL] Unity 5- Sistema de PLATAFORMAS COM ROTAS
///Duvida///
Unity 5 lag com muitas arvores e grass
Problema com "Non-convex MeshCollider"
[____REGRAS DO FÓRUM____]
Hoje à(s) 6:19 pm
Hoje à(s) 6:00 pm
Hoje à(s) 5:29 pm
Hoje à(s) 5:27 pm
Hoje à(s) 5:05 pm
Hoje à(s) 3:50 pm
Hoje à(s) 2:15 pm
Hoje à(s) 1:51 pm
Hoje à(s) 1:16 pm
Hoje à(s) 10:42 am
Hoje à(s) 10:32 am
Hoje à(s) 10:09 am
Hoje à(s) 10:06 am
Hoje à(s) 5:38 am
Hoje à(s) 5:27 am
Hoje à(s) 5:25 am
Hoje à(s) 5:24 am
Hoje à(s) 4:59 am
Hoje à(s) 4:48 am
Hoje à(s) 4:33 am
Ontem à(s) 7:02 pm
Ontem à(s) 6:30 pm
Ontem à(s) 6:27 pm
Ontem à(s) 4:47 pm
Ontem à(s) 3:13 pm
Ontem à(s) 12:32 pm
Ontem à(s) 3:50 am
Sex Fev 24, 2017 11:38 pm
Sex Fev 24, 2017 10:38 pm
Sex Fev 24, 2017 10:10 pm
Sex Fev 24, 2017 9:31 pm
Sex Fev 24, 2017 8:40 pm
Sex Fev 24, 2017 8:39 pm
Sex Fev 24, 2017 7:26 pm
Sex Fev 24, 2017 7:17 pm
Sex Fev 24, 2017 6:12 pm
Sex Fev 24, 2017 3:54 pm
Sex Fev 24, 2017 9:44 am
Sex Fev 24, 2017 2:49 am
Qui Fev 23, 2017 9:09 pm
Qui Fev 23, 2017 7:21 pm
Qui Fev 23, 2017 2:50 pm
Qui Fev 23, 2017 12:18 pm
Qui Fev 23, 2017 12:06 pm
Qua Fev 22, 2017 11:32 pm
Qua Fev 22, 2017 8:27 pm
Qua Fev 22, 2017 8:19 pm
Qua Fev 22, 2017 6:26 pm
Qua Fev 22, 2017 5:53 pm
Qua Fev 22, 2017 3:15 pm
Qua Fev 22, 2017 2:20 pm
Qua Fev 22, 2017 1:58 pm
Qua Fev 22, 2017 11:52 am
Qua Fev 22, 2017 9:18 am
Qua Fev 22, 2017 12:36 am
Ter Fev 21, 2017 10:18 pm
Ter Fev 21, 2017 9:15 pm
Ter Fev 21, 2017 8:45 pm
Ter Fev 21, 2017 8:21 pm
Ter Fev 21, 2017 7:20 pm
Ter Fev 21, 2017 4:40 pm
Ter Fev 21, 2017 3:26 pm
Ter Fev 21, 2017 1:53 pm
Ter Fev 21, 2017 1:18 pm
Ter Fev 21, 2017 11:42 am
Ter Fev 21, 2017 11:25 am
Seg Fev 20, 2017 10:43 pm
Seg Fev 20, 2017 10:00 pm
Seg Fev 20, 2017 9:04 pm
Seg Fev 20, 2017 9:02 pm
Seg Fev 20, 2017 9:00 pm
Seg Fev 20, 2017 8:56 pm
Seg Fev 20, 2017 8:49 pm
Seg Fev 20, 2017 8:46 pm
Seg Fev 20, 2017 8:44 pm
Seg Fev 20, 2017 8:42 pm
Seg Fev 20, 2017 8:40 pm
Seg Fev 20, 2017 8:36 pm
Seg Fev 20, 2017 8:28 pm
Seg Fev 20, 2017 8:25 pm
Seg Fev 20, 2017 8:23 pm
Seg Fev 20, 2017 8:19 pm
Seg Fev 20, 2017 8:14 pm
Seg Fev 20, 2017 8:12 pm
Seg Fev 20, 2017 7:37 pm
Seg Fev 20, 2017 3:35 pm
Seg Fev 20, 2017 3:19 pm
Seg Fev 20, 2017 8:54 am
Seg Fev 20, 2017 12:10 am
Dom Fev 19, 2017 10:55 pm
Dom Fev 19, 2017 9:18 pm
Dom Fev 19, 2017 9:02 pm
Dom Fev 19, 2017 8:31 pm
Dom Fev 19, 2017 6:37 pm
Dom Fev 19, 2017 6:32 pm
Dom Fev 19, 2017 3:46 pm
Dom Fev 19, 2017 3:33 pm
Dom Fev 19, 2017 10:43 am
Sab Fev 18, 2017 11:53 pm
dstaroski
KNouT
Luiz Mauro TCC
AndyShow
Sheyk
lucasfera15
PauloFR
richerd
Jogos mini
dstaroski
dstaroski
Zecandy
JhonnyBravo
Aprendiz
AndyShow
AndyShow
AndyShow
AndyShow
AndyShow
AndyShow
AndyShow
AndyShow
AndyShow
dstaroski
diogodavilafernandes
Weverton Borges da Silva
AndyShow
MateusWTP
zBanidor
AndyShow
joabr
Junim
lucasfera15
PauloFR
PauloFR
AndyShow
weslleyFx
AndyShow
nobruzada
BatataName
GabrielRaaposo
MarcosSchultz
dimmuo
Zecandy
Blue Ark
DoctorGame15
PauloFR
thiagograssi
thiagograssi
PauloFR
Junim
anizioNoob
lucasfera15
Fábiow775
MateusWTP
zBanidor
tom ramber
PauloFR
Willian Wii
Willian Wii
silva75
zZAndersonZz
sabbath
Marc7
thiagograssi
rafaelllsd
MarcosSchultz
Luiz Mauro TCC
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
CanabravaBR
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Zecandy
AndyShow
Pulitano
artplayer
niao
vegasbr
Manawydan
rafaelllsd
joabr
Blue Ark
Zecandy
AndyShow
regisbaldo
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.

RenanMSV
Instrutor

Masculino PONTOS : 1643
REPUTAÇÃO : 320
Á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
      }

RenanMSV
Instrutor

Masculino PONTOS : 1643
REPUTAÇÃO : 320
Á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 : 610
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.

NotoriousDev
Avançado
Avançado

Masculino PONTOS : 455
REPUTAÇÃO : 9
Idade : 21
Á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