[GM:S]Criando um virtualpad

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

[GM:S]Criando um virtualpad

Mensagem por Mr. Kaleb em Sex 07 Mar 2014, 23:18


  • Título: Criando um virtualpad
  • Versão do GM: Studio Professional
  • Dificuldade: Básica
  • Link para download da engine: virtualpad.gmx
  • Requer extensões: Não
  • Requer DLL's: Não
  • Tags: virtualpad, virtual key, gui, interface


Para criar um sistema de pad na tela, vamos ter que separar algumas coisas. Quando você quer criar um virtualpad, você não vai colocá-lo lá como se põe um objeto normal. O virtualpad é um objeto que não causa e nem deve receber influência nos outros objetos do jogo, assim como outros botões e outras coisas que estão presentes num jogo. Aqui vai um exemplo:


Imagem do jogo Stardash
Todos esses elementos devem ficar a parte de alterações como rotação da tela, efeitos no jogo e etc. Devem ser desenhados como em, digamos, uma surface própria. Para fazer isso, utilizamos a GUI (Game User Interface). É na GUI que colocamos esses elementos. Caso você abra seu Studio e procure nos eventos, verá que no Draw, existe um subevento chamado Draw GUI. É nele que desenharemos todas as imagens pertencentes ao nosso pad.

Antes de usar os eventos da GUI, temos que criar uma view. Por quê? Bem, porque primeiro, todo jogo de mobile vai usar uma view, de qualquer jeito. Segundo, todas as imagens vão seguir o personagem, ou o que quer que seja principal no jogo (isso não é necessariamente correto, caso você tenha um game estático).

Começando, crie um objeto (obj_player) e nele ponha os movimentos direcionais básicos (esquerda e direita), com as teclas correspondentes (left, right). Crie uma sprite qualquer para ele, pode ser um quadrado básico mesmo.

Depois crie 2 sprites (spr_left, spr_right) e coloque essas duas imagens, respectivamente (deixe o Center em 0 e 0 mesmo:)
 

Agora, crie uma room de tamanho qualquer (grande, preferencialmente) e crie uma view de 800x600.

Finalizada essa parte, crie um objeto (obj_control) e no evento Create ponha esse código:

Código:
guiw=view_wport[numero]
guih=view_hport[numero]

esq=virtual_key_add(16,468,100,100,vk_left)
dir=virtual_key_add(132,468,100,100,vk_left)

virtual_key_show(esq)
virtual_key_show(dir)

Isso vai criar duas variáveis que determinam que o comprimento e altura da GUI é respectivamente igual ao comprimento e altura da view. Depois, cria 2 teclas virtuais no canto inferior esquerdo da tela, que é onde você vai pressionar (no seu dispositivo touchscreen) e o objeto vai se mover, caso você tenha criado-o corretamente.
Veja que, por último, eu coloquei um código para mostrar onde as vk's estão. Caso você inicie a room, verá 2 quadrados brancos na posição estabelecida. Mas isso foi só para mostrar, apague as 2 últimas linhas e vamos colocar as sprites.

Agora, ainda no obj_controle, clique em Add Event > Draw > Draw GUI. É aqui que vamos desenhar as sprites. Lá, apenas desenhe as sprites:

Código:
draw_sprite(spr_left,0,16,468)
draw_sprite(spr_left,0,132,468)

E pronto! Caso você inicie no seu Windows, não vai dar pra clicar, como simulação de touchscreen. Esse método só funciona para mobile ou HTML5, portanto, se você tiver como testar no seu aparelho, vai poder verificar o resultado.

Eu não vou deixar a engine agora, porque esqueci de salvar, mas provavelmente irei pôr. Espero que aproveitem!


Última edição por Mr. Kaleb em Sab 29 Mar 2014, 17:06, editado 6 vez(es)

Mr. Kaleb

Ranking : Nota C
Número de Mensagens : 1400
Idade : 19
Data de inscrição : 07/09/2010
Notas recebidas : C
Reputação : 21
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [GM:S]Criando um virtualpad

Mensagem por fredcobain em Qui 13 Mar 2014, 16:32

Mr. Kaleb, esse tutorial é muito útil, e indispensável para quem está desenvolvendo para plataformas do tipo mobile.

Peço apenas que vc use o cabeçalho padrão da seção de tutoriais.

  • Título:
  • Versão do GM:
  • Dificuldade:
  • Link para download da Engine:
  • Requer Extensões:
  • Requer DLLs:
  • Tags:


Obrigado pela contribuição.

fredcobain

Ranking : Sem avaliações
Número de Mensagens : 691
Idade : 35
Data de inscrição : 14/04/2011
Reputação : 162
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [GM:S]Criando um virtualpad

Mensagem por Mr. Kaleb em Qui 13 Mar 2014, 21:56

Obrigado que gostou e obrigado pelo aviso, o tópico já foi editado conforme as regras.

Mr. Kaleb

Ranking : Nota C
Número de Mensagens : 1400
Idade : 19
Data de inscrição : 07/09/2010
Notas recebidas : C
Reputação : 21
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [GM:S]Criando um virtualpad

Mensagem por Paranoid System Network em Sab 29 Mar 2014, 16:01

sera q teria como vc colocar a engine ?

Paranoid System Network

Número de Mensagens : 3
Data de inscrição : 28/03/2014
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [GM:S]Criando um virtualpad

Mensagem por Mr. Kaleb em Sab 29 Mar 2014, 17:05

EDIT:
Atualizado com o link da engine!

Mr. Kaleb

Ranking : Nota C
Número de Mensagens : 1400
Idade : 19
Data de inscrição : 07/09/2010
Notas recebidas : C
Reputação : 21
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [GM:S]Criando um virtualpad

Mensagem por Paranoid System Network em Sab 29 Mar 2014, 18:14

Obrigado por postar a engine.

__________

Nao esta dando a engine q vc postou poderia postar a pasta da engine

Editado por Gabreel: Alertado em 15% por post duplo.

Paranoid System Network

Número de Mensagens : 3
Data de inscrição : 28/03/2014
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [GM:S]Criando um virtualpad

Mensagem por Gabreel em Dom 30 Mar 2014, 02:35

#Paranoid System Network# Se a engine não funcionou, o tutorial tá aí pra isso.

Gabreel

Número de Mensagens : 2227
Idade : 20
Data de inscrição : 02/10/2009
Reputação : 52
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [GM:S]Criando um virtualpad

Mensagem por Paranoid System Network em Dom 30 Mar 2014, 08:55

esta dando erro quando vo abrir a engine o game maker fala q esta faltando arquivos ;-)

Paranoid System Network

Número de Mensagens : 3
Data de inscrição : 28/03/2014
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [GM:S]Criando um virtualpad

Mensagem por Conteúdo patrocinado Hoje à(s) 02:11


Conteúdo patrocinado


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