GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Retorno da GMBR!!!
por theguitarmester Ter 19 Mar 2024, 22:38

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


[TUTORIAL] Jogos Online com PHP e MySql - PARTE 3

3 participantes

Ir para baixo

[TUTORIAL] Jogos Online com PHP e MySql - PARTE 3 Empty [TUTORIAL] Jogos Online com PHP e MySql - PARTE 3

Mensagem por itarodrigo Ter 17 Mar 2015, 17:08

Título: Criar jogos online PARTE 3 - Pegando dados pelo PHP
Versão do GM: X
Dificuldade: Avançado
Link para download da Engine: X
Requer Extensões: Não
Requer DLLs: Não
Tags: wamp, servidor, online, html5, php, mysql

Oi pessoal,

Esta é a terceira parte do tutorial voltado para aqueles usuários que têm vontade de criar um jogo online com os dados salvos em bancos de dados.

É pré-requisito para este tutorial, ver:
Tutorial 1 https://gmbr.forumeiros.com/t32003-tutorial-criar-jogos-online-parte-1
Tutorial 2 https://gmbr.forumeiros.com/t32004-tutorial-criar-jogos-online-parte-2

Ensinarei nesse tutorial como pegar os dados salvos em uma tabela e como salvar novos dados, através do PHP.

Porque é vou mostrar em PHP e não direto no GM?
Simples: o GM ainda não tem uma opção de conexão direta com banco de dados mysql, por isso iremos usar eventos assíncronos para acessar os arquivos PHP e nos mostrar as informações.

Um detalhe importante é que no cabeçalho desse tutorial, eu marquei o nível de dificuldade Avançado visto que para entender bem esse tutorial, você precisará ter alguma noção de PHP e comandos SQL (não pretendo nesse tutorial ensinar PHP ou SQL, poderei fazê-lo em outro momento).

Vamos ao que interessa:

1 - Abra 'meu computador', navegue até 'c:\wamp\www' (pois é o diretório de instalação padrão do WAMP).

2 - Nele, crie uma pasta com um nome qualquer (no exemplo irei usar 'gmbr'):
[TUTORIAL] Jogos Online com PHP e MySql - PARTE 3 21

Obs: Cada pasta representa um site, você pode criar quantos desejar.

3 - Dentro do diretório criado, crie um arquivo de texto (pode usar o bloco de notas mesmo), e salve com o nome 'index.php':
[TUTORIAL] Jogos Online com PHP e MySql - PARTE 3 22

4 - Abra o arquivo e copie o código abaixo nele e salve:
Código:
<?php
//a linha abaixo permite que qualquer pessoa possa acessar a página para obter dados
header('Access-Control-Allow-Origin: *');

//conecta ao banco de dados (host, usuario, senha, banco)
//claro que, quando o jogo tiver online, você terá que alterar os dados de login
$mysqli = new mysqli("localhost", "root", "", "nome_do_jogo");

//se der erro, mostra na tela (não gosto de botar isso online, só no localhost mesmo)
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

//as variáveis em PHP iniciam por $
//criei uma variável chamada $query (poderia ser qualquer nome)
//ela irá armazenar meu comando SQL
//
//select = selecionar
//* = todos
//from = da tabela
//ranking = nome da tabela
//order by = ordenar por
//potuacao = campo que deve ser ordenado
//desc = de trás pra frente (do menor para o maior)
//select * from ranking = selecionar todos registros da tabela ranking ordenado pelo campo pontuacao do menor pro maior
$query = $mysqli->query('select * from ranking order by pontuacao desc');

//aqui criarei um loop que irá 'andar' cada registro da minha tabela
//
//crio aqui um loop (while) que irá pegar cada registro e escreve-lo na tela
//
//while = loop
//$ranking = variavel que irá armazenar meus dados
//$query = variável criada anteriormente com meu comando SQL
//fetch_object = "cria um objeto com o registro atual"
//
//while ($ranking = $query->fetch_object()){ = enquanto (ranking recebe informacoes do comando SQL em forma de objeto)
while ($ranking = $query->fetch_object()){
//
//echo = escreve na tela
//$ranking->usuario = no objeto ranking eu pego o campo usuário (criado em nosso banco de dados)
//. = serve pra contatenar (unir) strings
//' - ' = insiro um espaço um travessão e outro espaço
//. = concateno novamente
//$ranking->usuario = no objeto ranking eu pego o campo pontuação (criado em nosso banco de dados)
//. = concateno novamente
//, = uso uma vírgula para dividir os dados em um por linha
//
//echo $ranking->usuario.' - '.$ranking->pontuacao.',' = escreva na tela = usuario - pontuacao,
echo $ranking->usuario.' - '.$ranking->pontuacao.',';
}

?>

5 - Salve o arquivo, abra seu navegador, digite localhost

6 - Na parte de baixo em 'Your Projects', clique no nome da pasta que você criou:
[TUTORIAL] Jogos Online com PHP e MySql - PARTE 3 23

Obs: Se ao clicar no link o Wamp não abrir seu site corretamente, você pode digitar o endereço: localhost/nome_da_pasta (nesse caso 'localhost/gmbr'):
[TUTORIAL] Jogos Online com PHP e MySql - PARTE 3 24

Para corrigir essa falha, abra o arquivo 'c:\wamp\www\index.php' procure a linha:
Código:
$projectContents .= '<li><a href="'.($suppress_localhost ? 'http://' : '').$file.'">'.$file.'</a></li>';
altere para
Código:
$projectContents .= '<li><a href="'.($suppress_localhost ? 'http://localhost/' : '').$file.'">'.$file.'</a></li>';

7 - Se deu tudo ok, você verá esse resultado:
[TUTORIAL] Jogos Online com PHP e MySql - PARTE 3 25

8 - Agora vamos incluir um novo dado no Banco de Dados.

9 - Na pasta do seu site/projeto, dentro de c:\wamp\www, crie um novo arquivo chamado inserir.php, da mesma forma que criou o anterior:
[TUTORIAL] Jogos Online com PHP e MySql - PARTE 3 26

10 - Cole o código abaixo no arquivo e depois salve:
Código:
<?php
//conecta ao banco de dados (host, usuario, senha, banco)
//claro que, quando o jogo tiver online, você terá que alterar os dados de login
$mysqli = new mysqli("localhost", "root", "", "nome_do_jogo");

//se der erro, mostra na tela (não gosto de botar isso online, só no localhost mesmo)
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

//crio duas variáveis para receber os novos dados (usuario e pontuacao)
$usuario = $_POST['usuario'];
$pontuacao = $_POST['pontuacao'];

//insert into = inserir na tabela...
//ranking = nome da tabela
//(usuario, pontuacao) = devo listar os campos que irão receber novos dados (não devo listar o campo ID)
//values = valores que serão inclusos
//("'.$usuario.'", "'.$pontuacao.'") = perceba que os dados devem estar entre aspas duplas "", aspas simples '' e pontos de contatenacao ..
//insert into ranking (usuario, pontuacao) values ("'.$usuario.'", "'.$pontuacao.'") = inserir na tabela ranking nos campos (usuario e pontuacao) os valores recebidos nas variáveis acima ($usuario e $pontuacao)
$mysqli->query('insert into ranking (usuario, pontuacao) values ("'.$usuario.'", "'.$pontuacao.'")');

echo 'Salvo!';

?>

Fiz umas alterações no tutorial e irei mostrar como inserir os dados, apenas no GM mesmo, pois fica mais prático pra mim.

Tutorial 4 https://gmbr.forumeiros.com/t32008-tutorial-criar-jogos-online-parte-4

EDIÇÃO 1: Alterado o arquivo index.php para que o mesmo use vírgula para separar os campos ao invés de
Em 17 de março de 2015
EDIÇÃO 2: Alterado o arquivo inserir.php para que o mesmo exiba uma imagem confirmando que os dados foram salvos Em 17 de março de 2015


Última edição por itarodrigo em Sex 12 Jun 2015, 21:15, editado 10 vez(es)
itarodrigo
itarodrigo

Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios : [TUTORIAL] Jogos Online com PHP e MySql - PARTE 3 Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[TUTORIAL] Jogos Online com PHP e MySql - PARTE 3 Empty Re: [TUTORIAL] Jogos Online com PHP e MySql - PARTE 3

Mensagem por Lupptyr Ter 17 Mar 2015, 17:23

Este tutorial é para jogo http: ?
Ou e se não for, tem como usar o WAMP pra criar online normal pela engine mesmo?
Lupptyr
Lupptyr

Data de inscrição : 06/03/2015
Reputação : 1
Número de Mensagens : 28
Prêmios : [TUTORIAL] Jogos Online com PHP e MySql - PARTE 3 Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[TUTORIAL] Jogos Online com PHP e MySql - PARTE 3 Empty Re: [TUTORIAL] Jogos Online com PHP e MySql - PARTE 3

Mensagem por itarodrigo Ter 17 Mar 2015, 17:32

O tutorial serve tanto para jogos HTML5 quanto para jogos para windows.

Ainda não testei em jogos para android.

O WAMP cria um servidor local offline na sua máquina, onde você pode criar o seu banco de dados e testar seu jogo de uma forma mais rápida antes de colocá-lo online.

Depois que o jogo tiver pronto, basta salvar os arquivos offline e hospedá-los em um site qualquer.

Abraço.
itarodrigo
itarodrigo

Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios : [TUTORIAL] Jogos Online com PHP e MySql - PARTE 3 Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[TUTORIAL] Jogos Online com PHP e MySql - PARTE 3 Empty Re: [TUTORIAL] Jogos Online com PHP e MySql - PARTE 3

Mensagem por Lupptyr Ter 17 Mar 2015, 17:40

Beleza valeu, ótimo tutorial cara, seguinte, tu vai continuar a colocar tutoriais ainda? tipo hoje?
Lupptyr
Lupptyr

Data de inscrição : 06/03/2015
Reputação : 1
Número de Mensagens : 28
Prêmios : [TUTORIAL] Jogos Online com PHP e MySql - PARTE 3 Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[TUTORIAL] Jogos Online com PHP e MySql - PARTE 3 Empty Re: [TUTORIAL] Jogos Online com PHP e MySql - PARTE 3

Mensagem por itarodrigo Ter 17 Mar 2015, 17:50

to pensando em fazer o quarto tutorial ainda hoje sim, mostrando como ver os dados no GM.

abraço.
itarodrigo
itarodrigo

Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios : [TUTORIAL] Jogos Online com PHP e MySql - PARTE 3 Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[TUTORIAL] Jogos Online com PHP e MySql - PARTE 3 Empty Re: [TUTORIAL] Jogos Online com PHP e MySql - PARTE 3

Mensagem por Lupptyr Ter 17 Mar 2015, 17:53

To querendo me ''profissionalizar'' no setor de Networking. xD

''Profissionalizar'' não real, digo ficar ''expert'' no assunto xD.
Lupptyr
Lupptyr

Data de inscrição : 06/03/2015
Reputação : 1
Número de Mensagens : 28
Prêmios : [TUTORIAL] Jogos Online com PHP e MySql - PARTE 3 Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[TUTORIAL] Jogos Online com PHP e MySql - PARTE 3 Empty Re: [TUTORIAL] Jogos Online com PHP e MySql - PARTE 3

Mensagem por itarodrigo Ter 17 Mar 2015, 18:02

Legal, acho networking um termo muito abrangente, qual área específica você quer estudar?
itarodrigo
itarodrigo

Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios : [TUTORIAL] Jogos Online com PHP e MySql - PARTE 3 Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[TUTORIAL] Jogos Online com PHP e MySql - PARTE 3 Empty Re: [TUTORIAL] Jogos Online com PHP e MySql - PARTE 3

Mensagem por ekuhnen Qui 11 Jun 2015, 15:05

também funciona com andoid, só pra constar
ekuhnen
ekuhnen

Data de inscrição : 05/10/2012
Reputação : 3
Número de Mensagens : 47
Prêmios : [TUTORIAL] Jogos Online com PHP e MySql - PARTE 3 Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[TUTORIAL] Jogos Online com PHP e MySql - PARTE 3 Empty Re: [TUTORIAL] Jogos Online com PHP e MySql - PARTE 3

Mensagem por itarodrigo Qui 11 Jun 2015, 19:16

interessante que testei em windows e android e funciona legal sim, porém, em html5 não está funcionando.

alguém conseguiu fazer rodar ou sabe se precisa configurar algo a mais fora o que passei no tutorial?

abraços.

RESOLVIDO E ATUALIZADO NO TUTORIAL
itarodrigo
itarodrigo

Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios : [TUTORIAL] Jogos Online com PHP e MySql - PARTE 3 Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[TUTORIAL] Jogos Online com PHP e MySql - PARTE 3 Empty Re: [TUTORIAL] Jogos Online com PHP e MySql - PARTE 3

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos