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:
[AJUDA] CommandInvokationFailure: Failed to build apk
bug do meu jogo
Organizar GUI menu, para qualquer tamanho de tela no Unity 3D
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Unity - Há alguma forma de abrir duas vezes o mesmo projeto?
Forest Explorer
Jogo Demo(Lost and Alone)
Pegar a posição
Preciso de um modelo 3D
[Prototipo] : [MyLifeInSevenSeconds]
[AJUDA] Atirar no meio da animação
Duvidas em relação a armmas
problema com Movimento usando Rigidbody
Change Material
[Formacão de equipe] --Key System--
Nav mesh em tempo real e fazer as rodas girarem
Preciso 1 Programador
Gostaria De Entrar em Uma Equipe ! :D
Problema com load (android)
Quanto tempo ?
so seguir quando ver
Atualizado (The Pyramid 1.1.1)
Mudar a Cena ao Apertar o Button
Chat android por local?
Esconder-se estilo OutLast
[RESOLVIDO] Conversão C# para JavaScript
Problema no Network
Sumindo os detalhes no UV Mapping
Animação faz objeto mudar de posição?
[ERRO DO PHOTON] Script do Photon com a unity
esse e o novo jogo que estou criando "my dream" ,um projeto pequeno.
Desenho - Sword concept
Jogo que estou desenvolvendo "Alone"
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
[TUTORIAL] Evitar Sombras ULTRA escuras após trocar de cena
[Artigo]Delegates - Entendendo e Aplicando na Unity
Raposa: Projeto Laranja - Meu jogo,O que acham?
Sistema de Futebol(Chutar bola e carrega-la até o gol)
Enhance - Goodbye SDK fatigue! Ads and more in Minutes!
[RESOLVIDO] SUSPENSÃO
Fazer sombras usando sprites
Canvas: como trazer objeto pra frente de outro?
Meu primeiro Rpg
[RESOLVIDO] Dúvida com audio.stop e audio.play
save de objetos coletados
[RESOLVIDO] Animação alteração posição do objeto.
[RESOLVIDO] Animação De camera Procedural Tem como ?
Fazer efeito de distorção
Problema na compilaçao para android
[TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Qual o melhor formato de Textura?
Movimento do Sonic
Pokémon TCG-Erro de tela rosa
Melhor lugar para Publicar uma Demo
[AJUDA] Sistema de chuva
Dúvida com simulação de marcha de carros..
Precisamos de um Level Desgner ou Programador, que entenda de Otimização de Senario
Dúvida se código da unity é obsoleto
Jumper boy
Demo Terror
Enfrente Seu Pesadelo
Alguem pode me dizer qual é a função que limita o framerate do game, no unity 5 ?
como fazer trocar a imagem q está no UI canvas ?
problemas ao sincronizar healthbar entre os player (photon)
Reload Arma
Servidores dedicados - BatchMode
Como dizer que um numero é diferente do outro?
Optimização do Android
[TUTORIAL] 42 ÓTIMAS DICAS DE OTIMIZAÇÃO PARA JOGOS MOBILE (Android)
Ativar animação
como criptografar um texto e descriptografar em c#
existe algum método para instanciar sprites ?
Como lançar um objeto para um local via touch?
Ajuda de como fazer um jogo
Ajuda com áudio de carro
Assets tanque de guerra
Como alterar rectTransform de objeto
Como acesso uma variável em outro script?
Barra de power
[DEVLOG] Projeto - Pocket Girl Blade - Atualização
Problema na instalação do SDK Android
Ranking com nome
como ajustar o UnityEngine.UI.text via script para qualquer resolução?
PAGO POR TUTORIAIS EM VIDEO ALGUÉM INTERESSADO??
[RESOLVIDO] Alguem conhece um tutorial como este?
Alterar as qualidades das sombras com um dropdown
Como ter a mesma imagem em todos os dispositivos?
[TUTORIAL] Pegar e Dropar item no chao.[2.0]
MultiPlayer Local Android!
Asset Store quantos % fica pra ela?
Os Bentônicos - O Jogo
[TUTORIAL] Definindo as resoluções suportadas
[RESOLVIDO] Problema com Visual Studio
Freio abs duvida
Dicas para melhorar o desempenho?
desafio do codigo(Treinamento e raciocinio)
Script para visualizar objetos igual ao do Resident Evil 7
Alterar WaterMode do WaterProDaytime Via script
Como resolvo esse problema ?
Hoje à(s) 8:25 am
Hoje à(s) 7:38 am
Hoje à(s) 7:31 am
Hoje à(s) 7:28 am
Hoje à(s) 7:27 am
Hoje à(s) 3:15 am
Hoje à(s) 2:20 am
Hoje à(s) 1:10 am
Ontem à(s) 10:15 pm
Ontem à(s) 9:43 pm
Ontem à(s) 9:41 pm
Ontem à(s) 9:26 pm
Ontem à(s) 9:23 pm
Ontem à(s) 9:03 pm
Ontem à(s) 8:04 pm
Ontem à(s) 7:47 pm
Ontem à(s) 7:07 pm
Ontem à(s) 6:20 pm
Ontem à(s) 5:02 pm
Ontem à(s) 3:51 pm
Ontem à(s) 2:09 pm
Ontem à(s) 1:58 pm
Ontem à(s) 1:48 pm
Ontem à(s) 2:56 am
Qui Dez 14, 2017 11:31 pm
Qui Dez 14, 2017 11:11 pm
Qui Dez 14, 2017 8:52 pm
Qui Dez 14, 2017 7:51 pm
Qui Dez 14, 2017 5:41 pm
Qui Dez 14, 2017 3:58 pm
Qui Dez 14, 2017 1:39 pm
Qui Dez 14, 2017 12:35 pm
Qui Dez 14, 2017 11:59 am
Qui Dez 14, 2017 11:24 am
Qui Dez 14, 2017 10:54 am
Qui Dez 14, 2017 2:04 am
Qui Dez 14, 2017 1:24 am
Qui Dez 14, 2017 1:04 am
Qua Dez 13, 2017 11:37 pm
Qua Dez 13, 2017 11:09 pm
Qua Dez 13, 2017 8:23 pm
Qua Dez 13, 2017 2:20 pm
Qua Dez 13, 2017 1:49 pm
Qua Dez 13, 2017 1:22 pm
Qua Dez 13, 2017 1:11 pm
Qua Dez 13, 2017 12:57 pm
Qua Dez 13, 2017 12:41 pm
Qua Dez 13, 2017 1:16 am
Qua Dez 13, 2017 12:56 am
Qua Dez 13, 2017 12:10 am
Qua Dez 13, 2017 12:08 am
Ter Dez 12, 2017 10:23 pm
Ter Dez 12, 2017 9:57 pm
Ter Dez 12, 2017 9:53 pm
Ter Dez 12, 2017 9:37 pm
Ter Dez 12, 2017 9:18 pm
Ter Dez 12, 2017 8:26 pm
Ter Dez 12, 2017 7:40 pm
Ter Dez 12, 2017 6:27 pm
Ter Dez 12, 2017 5:44 pm
Ter Dez 12, 2017 5:43 pm
Ter Dez 12, 2017 5:34 pm
Ter Dez 12, 2017 2:25 pm
Ter Dez 12, 2017 12:49 pm
Ter Dez 12, 2017 11:34 am
Ter Dez 12, 2017 4:34 am
Seg Dez 11, 2017 9:28 pm
Seg Dez 11, 2017 8:05 pm
Seg Dez 11, 2017 7:39 pm
Seg Dez 11, 2017 7:03 pm
Seg Dez 11, 2017 6:47 pm
Seg Dez 11, 2017 6:19 pm
Seg Dez 11, 2017 4:11 pm
Seg Dez 11, 2017 3:50 pm
Seg Dez 11, 2017 3:13 pm
Seg Dez 11, 2017 1:58 pm
Seg Dez 11, 2017 1:19 pm
Seg Dez 11, 2017 1:14 pm
Seg Dez 11, 2017 10:58 am
Seg Dez 11, 2017 8:59 am
Seg Dez 11, 2017 8:55 am
Seg Dez 11, 2017 12:32 am
Dom Dez 10, 2017 11:53 pm
Dom Dez 10, 2017 9:12 pm
Dom Dez 10, 2017 8:34 pm
Dom Dez 10, 2017 6:16 pm
Dom Dez 10, 2017 6:16 pm
Dom Dez 10, 2017 6:14 pm
Dom Dez 10, 2017 6:13 pm
Dom Dez 10, 2017 4:50 pm
Dom Dez 10, 2017 1:31 pm
Dom Dez 10, 2017 11:29 am
Dom Dez 10, 2017 12:29 am
Sab Dez 09, 2017 11:31 pm
Sab Dez 09, 2017 11:17 pm
Sab Dez 09, 2017 9:56 pm
Sab Dez 09, 2017 7:16 pm
Sab Dez 09, 2017 7:11 pm
Sab Dez 09, 2017 4:55 pm
recagonlei
recagonlei
recagonlei
glauco
recagonlei
gurgelg752
Água Sem Hidrogênio
lolhard
Zecandy
Phph09
recagonlei
Zecandy
Zecandy
michelly
Phph09
glauco
Locodapraça
ErikBreno360
XN4k3Dbr
gurgelg752
Zecandy
MarceloYBP
John Rambo
Encracker
Phph09
lesgoy
recagonlei
RW.
GabrielBs1409
PatifeCraft
Callyde Jr
recagonlei
BRGC
dstaroski
MarceloYBP
dimmuo
MarceloYBP
Água Sem Hidrogênio
recagonlei
WesleyLemosLeal
fabriciorsz34
Zecandy
MarceloYBP
Cristianolop
Phph09
XN4k3Dbr
BRGC
Flávio
Eduardoro39
Phph09
MarceloYBP
DSK
recagonlei
natanael.olimpio
PatifeCraft
Madness
Jhonatham1
Flávio
googolepton
MarceloYBP
MarceloYBP
FelipeGD
dstaroski
Valakinhas
John Rambo
hen000
recagonlei
Água Sem Hidrogênio
natanael.olimpio
Zecandy
recagonlei
John Rambo
recagonlei
recagonlei
Nyland
erifmeurer
recagonlei
recagonlei
XN4k3Dbr
dstaroski
dstaroski
Flávio
lesgoy
oilson
GabrielBs1409
recagonlei
lesgoy
glauco
recagonlei
recagonlei
Josivaldo Augusto
guimaraf
Flávio
Nyland
Ghosthy
felipehobs1
Phph09
BRGC
Fagner

[TUTORIAL] Banco de Dados || PHP

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

TUTORIAL [TUTORIAL] Banco de Dados || PHP

Mensagem por RenanMSV em Sab Jul 16, 2016 9:43 am



Eu ja fiz tutoriais sobre como usar banco de dados com a Unity, todos sendo feitos dentro dela mesma através de plugins dll...

Mas tem outra técnica que você pode utilizar para acessar e modificar seu Banco de Dados. Usar PHP. Em contrapartida será necessario entender um minimo de PHP + Banco de Dados para utilizar.


No exemplo que vou mostrar, vamos criar um arquivo em PHP que irá gerenciar pelo lado de lá, e um em C# que gerenciará o lado de cá.


Para melhorar nossa integração vamos utilizar um sistema simples, que fará tudo na mesma pagina. Não sendo preciso criar diversas para cada coisa. Iremos utilizar o método GET do PHP para identificar o que queremos fazer e como fazer.

Script PHP (dbrequest.php):

Código:


<?php

if (!isset($_GET["request"])) exit(); // perguntamos ao php se a variavel get request está ou nao setada. Se não tiver significa que alguem tentou acessar de algum lugar e podemos terminar a execução do php.

switch ($_GET["request"]) { // caso ela esteja setada vamos ao switch
   case "getidbyname": GetIdByName(); // simples se o nome for igual vamos executar esta função
      break;
   case "getpassbyid": GetPasswordById(); // simples se o nome for igual vamos executar esta função
      break;
   default:
      break;
}

function GetIdByName(){
   if (!isset($_GET["name"])) exit(); // se a variavel não foi setada não acontece nada;
   $name = $_GET["name"]; // guardando a variavel
   //daqui pra baixo voce deve fazer o que voce quiser com o nome.....consulte no banco de dados, faça qualquer coisa que precise
   if (strtolower($name) == strtolower("RenanMsV")) echo "50"; else echo "-1"; // se for igual a "RenanMsV" ele mostra 50, se não mostra -1
}
function GetPasswordById(){
   if (!isset($_GET["id"])) exit(); // se a variavel não foi setada não acontece nada;
   $id = $_GET["id"]; // guardando a variavel
   //daqui pra baixo voce deve fazer o que voce quiser com o id.....consulte no banco de dados, faça qualquer coisa que precise
   if ($id == 50) echo "senha123"; else echo "-1"; // se for igual a 50 ele mostra a senha, se não mostra -1
}
?>




Agora o script em C# na Unity. Nele temos 2 funções. Uma retorna o ID a partir de seu nome, e outra retorna a senha a partir de seu ID.

Código:


using UnityEngine;
using System.Collections;

public class GetPHPData : MonoBehaviour {

   public static int GetPlayerID_WithName(string url,string name){
      url += name;
      WWW www = new WWW (url);
      while(!www.isDone){
         Wait (0.25f);
      }
      return int.Parse (www.text);
   }
   public static string GetPlayerPass_WithID(string url,int id){
      url += id;
      WWW www = new WWW (url);
      while(!www.isDone){
         Wait (0.25f);
      }
      return www.text;
   }
   public static void Wait(float t){
      while (t > 0) {
         t -= Time.deltaTime;
      }
   }
}


Este script em C# não deve estar em objeto nenhum. Ele apenas contem as funções estaticas que utilizaremos para acessar os dados. Observe como eu fiz e poderá criar as suas proprias funções personalizadas para seu jogo.


Agora já podemos utilizar em qualquer lugar em nosso projeto as funções GetPHPData.GetPlayerID_WithName(string url,string name) e GetPHPData.GetPlayerPass_WithID(string url,int id).

Vamos a um exemplo:

Criaremos 2 textos UI e faremos com que eles exibam os dados recebidos pelas funções.

Script em C#:

Código:


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

public class PHPScript : MonoBehaviour {
   int id = -1;  // guardará o id
   string pass = ""; // guardará a senha
   public string userName = "RenanMsV"; // nome de usuario
   public Text[] Textos; // textos ui que guardarao

   void Start () {
      id = GetPHPData.GetPlayerID_WithName ("http://inutiles.atspace.cc/unitygameserver/sql/dbrequest.php?request=getidbyname&name=", userName);
      pass = GetPHPData.GetPlayerPass_WithID ("http://inutiles.atspace.cc/unitygameserver/sql/dbrequest.php?request=getpassbyid&id=", id);
      Textos [0].text = "ID: " + id;
      Textos [1].text = "SENHA: " + pass;
   }
}



No exemplo utilizamos as funções criadas para retornar, guardar e exibir os valores.

É algo bem simples usar PHP com a Unity, mas é importante saber que a velocidade de retorno dos dados depende da conexão que o usuario tem com a internet. Nem preciso dizer que isto não funcionará se ele não tiver nenhuma conexão não é??

Lembrando que este exemplo tambem serve para praticamente qualquer tipo de arquivo que possa ser lido, (xml, html,css...). Claro que só com PHP poderemos manipular um banco de dados.

Então é isso, até mais. Duvidas perguntem abaixo.
avatar
RenanMSV
Instrutor

Masculino PONTOS : 1945
REPUTAÇÃO : 327
Á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 || PHP

Mensagem por Guilherme_cj852 em Sab Jul 16, 2016 10:23 am

Eu estava atrás de um tutorial sobre isso esses dias, obrigado.
avatar
Guilherme_cj852
Programador

Masculino PONTOS : 1310
REPUTAÇÃO : 127
Idade : 16
Áreas de atuação : Programador C#
Designer
Iniciante em PHP
Respeito as regras :

Ver perfil do usuário http://ugames-studio.weebly.com/

Voltar ao Topo Ir em baixo

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

Mensagem por Chilinger em Sab Jul 16, 2016 12:34 pm

Renan meu irmao esta otimo o que vc fez tao bom quanto o meu sendo que aconselho a vc a colocar td privado e nao precisa passar o id para o banco coloca auto incremento.

Chilinger
MembroAvançado

Masculino PONTOS : 1466
REPUTAÇÃO : 32
Idade : 23
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por artplayer em Sab Jul 30, 2016 10:58 am

Muito bom o tutorial!
Eu acabei desenvolvendo uma espécie de "framework" pra isso há algum tempo atrás. Basicamente são classes que manipulam dados dos jogadores como Exp, inventário, chat e tudo mais. Assim posso ter um servidor pra cada coisa. Em um jogo multiplayer acabo não sobrecarregando o servidor do jogo. Só que eu uso POST e sha-256 como criptografia de senhas por causa da minha paranoia com segurança.

Eu não recomento manipular o banco direto do C#, porque hoje em dia é muito fácil usar engenharia reversa nos executáveis e aí já era.
avatar
artplayer
ProgramadorMaster

Masculino PONTOS : 1206
REPUTAÇÃO : 245
Idade : 33
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por Callyde Jr em Ter Maio 23, 2017 7:10 pm

Aqui no meu o php deu um monte de erros?
avatar
Callyde Jr
Programador

Masculino PONTOS : 1895
REPUTAÇÃO : 253
Idade : 38
Áreas de atuação : Iniciante em modelagem
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