Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

[PROG] Menu por teclado

Tutoriais, videoaulas, guias e downloads para te ajudar nos estudos.
Avatar do usuário
Tutoriais & Aulas
Colaborador
Colaborador
Reações: 0
Mensagens: 110

[PROG] Menu por teclado

Mensagem por Tutoriais & Aulas » Qui Abr 28, 2016 4:11 pm

Autor original: CLT
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: Selecionar todos

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: Selecionar todos

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: Selecionar todos

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: Selecionar todos

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.

Responder

Quem está online

Usuários navegando neste fórum: Google [Bot] e 7 visitantes