Conectar-se

Esqueci minha senha

Últimos assuntos
» Nota de esclarecimento - GMBR voltou!
Sex 23 Jun 2017, 20:33 por Willy

» Regras do Fórum
Sex 23 Jun 2017, 19:02 por GMBR

» Retorno da GMBR!!!
Ter 24 Jan 2017, 15:43 por GMBR

» Criando IA Simples para inimigos
Qua 25 Nov 2015, 19:22 por DJDAVYD

» Crio Trilha Sonora para Games!
Qui 27 Ago 2015, 13:50 por Isaias Malafaia

» Western Duels
Seg 24 Ago 2015, 07:47 por theguitarmester

» Dúvida sobre strings, lendo txt
Sab 22 Ago 2015, 20:31 por Pai véi

» Janela Modal
Sab 22 Ago 2015, 09:23 por Pai véi

» LudumDare #33
Sex 21 Ago 2015, 21:17 por WellingtonBecker

» GMS sempre salva projeto ao compilar?
Sex 21 Ago 2015, 12:32 por Pai véi

» Tipo de Draw que dê melhor fps...
Sex 21 Ago 2015, 12:25 por Pai véi

» Banco de Dados online fácil de configurar
Sex 21 Ago 2015, 11:47 por Pai véi

» Ficou estranho esse efeito na terra?
Qua 19 Ago 2015, 20:08 por Adriel

» Você consegue decifrar o que é isso?
Qua 19 Ago 2015, 15:48 por Mateus O de Andrade

» Texto centralizado em sprite 64x64
Qua 19 Ago 2015, 14:00 por Vandson Fernandes

» [Tutorial] Um Único Script para Todos Diálogos do Jogo
Ter 18 Ago 2015, 22:12 por dharrison

» VIDEO AULAS - Plataforma - Recriando Super Mario
Ter 18 Ago 2015, 20:44 por Adriel

» Ajuda deixar room maior
Ter 18 Ago 2015, 15:56 por Stickman

» OST - Rain From The Past (Para Main Themes)
Seg 17 Ago 2015, 23:00 por Jessezyn

» #DGM Aula 01 - Views
Seg 17 Ago 2015, 00:16 por victor13.

» Alguém sabe as dimensões de um galaxy s5?
Dom 16 Ago 2015, 20:06 por vitorfernandes13

» Conquer The Kingdom
Dom 16 Ago 2015, 12:13 por DVictorPS

» [Ajuda] Bug ds_list
Dom 16 Ago 2015, 08:27 por Witen

» câmera seguir player com touch control android
Sab 15 Ago 2015, 15:05 por Lighter

» Apk não roda no celular
Sab 15 Ago 2015, 12:10 por xLuiZzz


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.
avatar
CLT

Ranking : Nota C
Notas recebidas : B-D
Data de inscrição : 06/01/2012
Número de Mensagens : 343
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário 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!!
avatar
Marcellomine

Data de inscrição : 22/01/2013
Número de Mensagens : 134
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

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!
avatar
NPH

Ranking : Nota B
Notas recebidas : B
Data de inscrição : 28/11/2010
Número de Mensagens : 452
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

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)}
avatar
Perseundeadd

Data de inscrição : 22/04/2013
Número de Mensagens : 17
Insígnias de JAM :

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Menu por teclado

Mensagem por Conteúdo patrocinado


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