[Video aula]Criando menu pause[tutorial]

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

[Video aula]Criando menu pause[tutorial]

Mensagem por rafael3do em Qua 23 Maio 2012, 11:05


Nome: como criar pause game com menu interativo
Descrição: criando um menu pause com salve load e sair
Nível de dificuldade: avançado
Requerimentos: Versão do GM 8 - Pro/Lite
Desenvolvimento: Um otimo tutorial utilizando script e somente um objeto para fazer o menu de pause no game
os codigo abaixo ja que o gmbr não permite a divulgação se site.


Create:


screen=noone;//variavel que ira armazenar a tela
pause=false;//variavel que define se o jogo esta ou nao pausado
menu[0]="Continuar"//menus
menu[1]="Salvar"//menus
menu[2]="Carregar"//menus
menu[3]="Sair"//menu
menus=4;//numero maximo de menus
select=0;//variavel para selecionar o menu

Step:


if keyboard_check(ord("P"))//checa se o espaço foi pressionado
{
event_user(0);
}

User defined 0 :


if (pause==false)//checa se o pausa esta desativado
{
screen=sprite_create_from_screen(0,0,view_wview,view_hview,0,0,0,0);//salva a a tela na variavel screen
instance_deactivate_all(1);//desativa todos os objetos exeto este
pause=true;//define como pausado
}else
{
pause=false;//define pause como desativado
instance_activate_all();//ativa tudo
}

Draw : if (pause)//checa se esta pausado
{
if (sprite_exists(screen))//checa se a sprite existe
{
draw_sprite(screen,0,view_xview,view_yview);//desenha o ultima tela de jogo antes de pausar
var _xx,_yy;//cria duas variaveis temporarias
_xx=view_xview+view_wview/2;//retorna ao valor do centro da tela horizontal
_yy=view_yview+view_hview/2//retorna ao valor do centro da tela vertical
draw_set_halign(fa_center);//define o modo de texto como centro
draw_set_color(c_red);//define a cor padrao como black
draw_text(_xx,_yy,"Jogo Pausado!");//desenha o texto pausado na tela
//controlar o select
if (keyboard_check_pressed(vk_up))//checa se a seta up foi pressionada
{
select-=1;//move o selection para cima
}else
if (keyboard_check_pressed(vk_down))//checa se a seta down foi pressionada
{
select+=1;//move o selection para baixo
}
while(select>=menus){select=0;}//limita o maximo que o selection pode descer
while(select<0){select=menus-1;}//limita o maximo que o selection pode subir
//desenhar menus
for (i=0;i {
if (select==i)//checa se o selection é igual ao valor de i
{
if (keyboard_check_pressed(vk_enter))//checa se o enter foi pressionado
{
switch(select)//lavanca para checagem do select
{
case 0:event_user(0);break;//caso seja 0(resumir) entao executa o código do event_user(0)
case 1:game_save(get_string("Salvar Jogo(o jogo ficara salvo na pasta não esqueça de colocar .sav)","Nome.sav"));break;
case 3:if (show_question("sair do jogo?")){game_end();};break;//case seja 2(sair) executa o show_question para sair do jogo
case 2:game_load(get_string("carregar Jogo não esqueça de colcoar .sav","Nome.sav"));break;
}
}
draw_set_color(c_white);//define cor padrao como white
}else
{
draw_set_color(c_black);//define cor padrao como black
}
draw_text(_xx,_yy+24+(i*string_height(menu[i])),menu[i]);//desenha todos os menus na tela
}
draw_set_halign(fa_left);//define o modo de texto como left
}
}
draw_set_color(c_black);
draw_text(0,0,"");

rafael3do

Ranking : Nota D
Número de Mensagens : 119
Idade : 21
Data de inscrição : 07/08/2011
Notas recebidas : D
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.equipe3do.blogspot.com

Voltar ao Topo Ir em baixo

Re: [Video aula]Criando menu pause[tutorial]

Mensagem por Convidad em Qua 23 Maio 2012, 11:22

Nossa muito legal a sua vídeo-aula, você poderia falar o nome do toque/musica do inicio do vídeo?
Os códigos tão funcionando perfeitamente! Thx Happy

Em Batch Script, pause game com um menu ficaria assim, sem os gráficos, e ta feio o menu por que fazer os gráficos com Debug e algo um pouco demorado. e como quero ser rápido ta ai:

Código:
@echo off
title Jogo com Pause.
color 0f
goto vars

:vars
cls
set off=Nao pausado.
set on=Pausado.
call :int

:int
cls
REM Aqui fica o Jogo.
echo Status: %off%
echo Info: Pressione a tecla P para pausar, ou C para fechar.
choice /c:pc /n

if ERRORLEVEL 2 exit

if ERRORLEVEL 1 (
goto pausado
)

:pausado
cls
echo Status: %on%
echo Info: Pressione a tecla P para despausar, ou C para fechar.
REM Aqui fica os Graficos do Menu.
REM E Botoes como por exemplo Novo Jogo, Continuar.
choice /c:pc /n

if ERRORLEVEL 2 exit

if ERRORLEVEL 1 (
goto int
)

Ai só criar cada quadro pausado para cada movimento do Personagem.
O Código deve funcionar para computadores que tem o CHOICE.EXE ou CHOICE.COM.
Aqui no meu Windows 7 Rodou perfeitamente.

EDIT

Você pode usar caracteres especiais para criar uma tabela e fazer um menu interativo e substituir pelos comentários, nessas linhas:

Código:

REM Aqui fica os Graficos do Menu.
REM E Botoes como por exemplo Novo Jogo, Continuar.

Se quiser um exemplo só pedir ai, Print de um menu exemplo:



EDIT

Se quiser um pause menu estilo ao do topico pode usufruir da função IF, e setar as variaveis no quadro Vars:

Código:
set pausado=0 - Para despausado
set pausado=1 - Para pausado

e no if adicionar uma função para setar as variaveis, por exemplo:

Código:
set /a pausado=1
ou
Código:
set /a pausado=0

Pra quem não conhece a função IF, ela funciona mais ou menos assim:

Código:
IF /I %a% EQU %b% (
        Função pra caso a variavel %a% for igual a %b%, a varivel b equivale a 0 se você fizer isso no quadro vars: set b=0
) else (
        Caso for diferente da variavel b, que setada no quadro vars equivale a 0, executar essa função, que ira ficar aqui.
)

Fuiz Happy


Última edição por Focuws em Qua 23 Maio 2012, 11:35, editado 2 vez(es) (Razão : EDIT)

Convidad
Convidado


Voltar ao Topo Ir em baixo

Re: [Video aula]Criando menu pause[tutorial]

Mensagem por rafael3do em Qua 23 Maio 2012, 12:43

o vlw ae pela dica o sistema pause e muito pedido pelo povo e tem alguns complicados de fazer por isso fiz esse bem simples e funciona 100% tirando aquele bug la mas...
e o nome da musica im yours - jason mraz

rafael3do

Ranking : Nota D
Número de Mensagens : 119
Idade : 21
Data de inscrição : 07/08/2011
Notas recebidas : D
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.equipe3do.blogspot.com

Voltar ao Topo Ir em baixo

Re: [Video aula]Criando menu pause[tutorial]

Mensagem por Arkd em Qua 23 Maio 2012, 16:13

kkkkkk, muito legal, achei engraçado no começo: ....por rafael3do, eba uhh !... kkkkk, essa aula ficou muito boa, eu fazia uma room com os botoes :/, ficou show, valew, vai me ajudar muito

Arkd

Número de Mensagens : 291
Idade : 18
Data de inscrição : 03/04/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.arkadesgames.blogspot.com

Voltar ao Topo Ir em baixo

Re: [Video aula]Criando menu pause[tutorial]

Mensagem por rafael3do em Sex 25 Maio 2012, 23:48

eu faço o pause e outro engine so com programação de script pois arrastar e soltar fica um pouco mais complicado sem contar que acho que so daria para fazer pause assim com room's ,mas tente criar na video aula o mais simples , e obrigado por assistir.

rafael3do

Ranking : Nota D
Número de Mensagens : 119
Idade : 21
Data de inscrição : 07/08/2011
Notas recebidas : D
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.equipe3do.blogspot.com

Voltar ao Topo Ir em baixo

Re: [Video aula]Criando menu pause[tutorial]

Mensagem por Conteúdo patrocinado Hoje à(s) 12:24


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