Essa engine foi feita no video acima aqui os códigos .
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<menus;i+=1;)//cria uma laço de execução na mesma frame de 1 ao valor menu
{
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,"");
Nenhum comentário:
Postar um comentário