Avatar do usuário
Tutoriais & Aulas
Colaborador
Colaborador
Autor
Mensagens: 174
Registrado em: Qui Abr 28, 2016 11:37 am
Karma: 245

[PROG] Menu por teclado

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:

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:

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:

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:

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.

Tags:

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante