Menu por teclado

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

Menu por teclado

Mensagem por CLT em Qua 15 Fev 2012, 11:57

Nome: Menu por teclado

Autor: CLT

Plataforma: GM PRO/LITE

Nível: Iniciante

Introdução

Neste tutorial irei ensinar a fazer um Menu controlado pelo teclado. Menus nesse estilo são comuns em jogos ao estilo Mario.

Configurando:

Menu com setas:

Crie um objeto e chame de obj_menu.

No Create coloque:

Código:
selecao=1
opcoes=3

Explicando

Aqui definimos duas variáveis, selecao e opcoes. Então sempre que o Menu for criado a selecao será igual a 1 e as opcoes igual 3.

No Step coloque:

Código:
if keyboard_check_pressed(vk_up)
{
selecao-=1
}
if keyboard_check_pressed(vk_down)
{
selecao+=1
}

if keyboard_check_pressed(vk_enter)
{
if selecao=1 {room_goto_next()}
if selecao=2 {game_load(get_string("Continuar jogo:",""))}
if selecao=3 {game_end()}
}

if selecao>opcoes selecao=1
if selecao<1 selecao=opcoes

Explicando

Quando a tecla para cima for pressionada a selecao diminuirá em 1 e quando a tecla para baixo for pressionado a selecao aumentará em 1.
Quando a tecla Enter for pressionada ocorrerá a ação correspondente ao número de selecao.
O último código faz se a selecao for igual a 1 e a tecla cima for pressionada a selecao será 3, e se a selecao for igual a 3 e a tecla baixo for pressionada a selecao será igual a 1.

Coloque no Draw:

Código:
draw_set_halign(fa_center)

draw_set_font(FONTE)

draw_text(x,y,"Novo jogo")
draw_text(x,y+48,"Continuar jogo")
draw_text(x,y+96,"Sair")

draw_set_color(c_black)

if selecao=1 {draw_text(x,y,"<<                  >>")}
if selecao=2 {draw_text(x,y+48,"<<                        >>")}
if selecao=3 {draw_text(x,y+96,"<<        >>")}

Explicando

1° centraliza o texto.
2° desenha a frase Novo jogo na posição x e y do objeto.
3° desenha a frase Continuar jogo na posição x e y +48 do objeto.
4° desenha a palavra Sair na posição x e y +96 do objeto.
5° deixa o texto com a cor preta.
6/7/8° desenha o texto correspondente a selecao.

Agora coloque o objeto na room e veja o resultado.

Menu com sprites:

Se você quiser trocar as setas por sprites:

Coloque no Draw:

Código:
draw_set_font(FONTE)

draw_text(x,y,"Novo jogo")
draw_text(x,y+48,"Continuar jogo")
draw_text(x,y+96,"Sair")

draw_set_color(c_black)

if selecao=1 {draw_sprite(sprite,0,x-32,y)}
if selecao=2 {draw_sprite(sprite,0,x-32,y+48)}
if selecao=3 {draw_sprite(sprite,0,x-32,y+96)}

Explicando

1° desenha a frase Novo jogo na posição x e y do objeto.
2° desenha a frase Continuar jogo na posição x e y +48 do objeto.
3° desenha a palavra Sair na posição x e y +96 do objeto.
4° deixa o texto com a cor preta.
5/6/7° desenha a sprite na posição correspondente da selecao.

Agora coloque o objeto na room e veja o resultado.

CLT

Ranking : Nota C
Número de Mensagens : 343
Data de inscrição : 06/01/2012
Notas recebidas : B-D
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://equipeevolution.forumeiros.com/

Voltar ao Topo Ir em baixo

Re: Menu por teclado

Mensagem por Marcellomine em Sex 22 Fev 2013, 23:11

Nossa! Legal o tuto, eu sou péssimo com menus! Muito obrigado e parabéns!!

Marcellomine

Número de Mensagens : 134
Idade : 19
Data de inscrição : 22/01/2013
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Menu por teclado

Mensagem por NPH em Sab 23 Fev 2013, 00:50

O menu de meu novo jogo Black Tank também é controlado por teclado!
Bom tuto! eu testei e aprovo!

NPH

Ranking : Nota B
Número de Mensagens : 452
Idade : 22
Data de inscrição : 28/11/2010
Notas recebidas : B
Reputação : 32
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Menu por teclado

Mensagem por Perseundeadd em Qua 24 Jul 2013, 19:24

Dei uma incrementada no menu , ele faz com que você use o sprite , e assim que você desça a opção o sprite some , você tem que criar objetos para cada seleção ( Eu fiz com sprites quem não entender é só falar)
Código:
draw_set_halign(fa_center)

instance_create(x,y,play);
instance_create(x,y+48,options);
instance_create(x,y+96,quit);

draw_set_color(c_black)

if selecao=1 {instance_create(x,y,playselect)}
if selecao=2 {instance_create(x,y+48,optionsselect)}
if selecao=3 {instance_create(x,y+96,quitselect)}

if selecao=2 {instance_deactivate_object(playselect)}
if selecao=3 {instance_deactivate_object(optionsselect)}
if selecao=2 {instance_deactivate_object(quitselect)}
if selecao=1 {instance_deactivate_object(optionsselect)}

Perseundeadd

Número de Mensagens : 17
Data de inscrição : 22/04/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Menu por teclado

Mensagem por Conteúdo patrocinado Hoje à(s) 05:44


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