Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: dridly en Noviembre 08, 2010, 01:13:00 PM

Título: Re: Crear men? principal (Solucionado)
Publicado por: dridly en Noviembre 08, 2010, 01:13:00 PM
Buenas,

quiero crear un men? principal (nunca me ha hecho falta uno, je je), con cuatro opciones sencillas: new game, options i credits. Supongo que la manera m?s f?cil ser?a crear un objeto para cada opci?n que vaya a la room correspondiente. Dudas:

- ?Se podr?a crear solo un objeto que controle las 3 opciones? ?Como se podr?a hacer?

- Si creo un objeto por opci?n, responderia a un evento left click si est? invisible? ?Como lo tendria que hacer para que ejecutar el evento?

Muchas gracias,

David
Título: Re: Crear men? principal
Publicado por: krajtin en Noviembre 08, 2010, 03:25:03 PM
Hola yo he hecho un men? de esta manera espero que te sirva:

1)  Primero creas un objeto(objMenu)

2) En el objMenu creas el evento create--------- con [gml]show=1 point=0 pos=0[/gml]


3) Crea un evento Step con este c?digo----------  [gml]if !point{
   image_alpha-=.05
}
if image_alpha<=0{
   point=1
}
if point{
   image_alpha+=.05
}
if image_alpha=1 && point{
   point=0
}
if keyboard_check_pressed(vk_down) && show{
   if pos<1{
       pos+=1
   }
   else{
       pos=2
   }
   sound_play(Strike1)
}
if keyboard_check_pressed(vk_up) && show{
   if pos>0{
       pos-=1
   }
   else{
       pos=2
   }
   sound_play(Strike1)
}



[/gml]

4) Crea un evento Draw con este codigo ------------
[gml]if show{
   draw_set_halign(fa_center)
   draw_text_color(view_xview+120,view_yview+32,string("Game Over!"),c_red,c_red,c_red,c_red,image_alpha)
   draw_text_color(view_xview+120,view_yview+48,string("Pasar a room2"),c_white,c_white,c_white,c_white,1)
   draw_text_color(view_xview+120,view_yview+96,string("Pasar a room1"),c_white,c_white,c_white,c_white,1)
   draw_text_color(view_xview+120,view_yview+68,string("Salir"),c_white,c_white,c_white,c_white,1)
   if pos=0{
       draw_sprite(sprPersonaje,1,view_xview+72,view_yview+48)
   }
   
   if pos=1{
       draw_sprite(sprPersonaje,1,view_xview+72,view_yview+68)
   }
   
    if pos=2{
       draw_sprite(sprPersonaje,1,view_xview+72,view_yview+96)
   }
}
else{
   draw_set_halign(fa_left)
}


[/gml]

5) Crea un evento que al pulsar dicha tecla pase varias cosas dependiendo en que posici?n est?-------------    
[gml]if pos=0{
   show=0

   room_goto(room1)
   
}

if pos=2{
   show=0
 
 
   room_goto(room2)
 
}

if pos=1{
   game_end()
}[/gml]



Solo modifica lo que quieras pero esto es un simple men?
Título: Re: Crear men? principal
Publicado por: Wadk en Noviembre 08, 2010, 05:02:34 PM
Cita de: dridly en Noviembre 08, 2010, 01:13:00 PM- ?Se podr?a crear solo un objeto que controle las 3 opciones? ?Como se podr?a hacer?
En realidad, por poder pod?s usar un s?lo objeto para controlar el juego entero. De hecho pod?s controlar el juego entero sin objeto alguno...
Aunque se complica, claro :P


Te dejo mi versi?n para hacer el men? con un objeto:

Create (ac? configur?s las opciones del men?):
[gml]opcion[0] = "Jugar";
opcion[1] = "Configuraci?n";
opcion[2] = "Salir";
opciones = 3; // No te olvides de cambiar esto si agreg?s o sac?s opciones.
alto_texto = string_height(opcion[0]);
seleccion = 0;[/gml]

Step:
[gml]seleccion += keyboard_check_pressed(vk_down) - keyboard_check_pressed(vk_up);
if seleccion < 0 {
    seleccion += opciones;
}
if seleccion > opciones {
    seleccion -= opciones;
}[/gml]

Draw:
[gml]for(i = 0; i < opciones; i += 1){
    draw_text(100, 100 + alto_texto * i, opcion);
}
draw_rectangle(90, 100 + alto_texto * seleccion, 100, 100 + alto_texto + alto_texto * seleccion, false);[/gml]

Evento de alguna tecla que quieras (por ejemplo Enter):
[gml]switch(seleccion){
    case 0:
        room_goto(rooJugar);
        break;
    case 1:
        room_goto(rooConfig);
        break;
    case 2:
        game_end();
        break;
}[/gml]
Título: Re: Crear men? principal (Solucionado)
Publicado por: dridly en Noviembre 09, 2010, 03:22:10 PM
Me sirve!!

Muchas gracias,

David