Saludos;
Estoy con el menu del juego y no logro hacerlo funcionar correctamente, esta es la estructura que he hecho:
CREATE:
[gml]
///VARIABLES DE CONTROL DE DESPLAZAMIENTO EN LA INTERFAZ
cursor_x = -700 // inicialmente fuera de la pantalla
cursor_y = -700 // inicialmente fuera de la pantalla
cursor_horizontal = 0
cursor_vertical = 4
menu_exit = false
menu_tuto = false[/gml]
STEP:
[gml]
///PROPIEDADES
// SI NO ESTAN LAS OPCIONES DE "EXIT-YES Y EXIT-NO"
if menu_exit == false and menu_tuto == false{
// VARIABLES DE DESPLAZAMIENTO
cursor_x = view_xview+700 // esta fijo en sentido horizontal
if cursor_vertical == 4 { cursor_y = view_yview+250 } // exit
if cursor_vertical == 3 { cursor_y = view_yview+325 } // trophies
if cursor_vertical == 2 { cursor_y = view_yview+400 } // tutorial
if cursor_vertical == 1 { cursor_y = view_yview+475 } // start
// VARIABLES DE POSICION
x = cursor_x
y = cursor_y
// LIMITES DE DESPLAZAMIENTOS
if cursor_vertical > 4 { cursor_vertical = 4 }
if cursor_vertical < 1 { cursor_vertical = 1 }
// USA EL SPRITE GRANDE
sprite_index = spr_menu_button_on
// SI ESTAN LAS OPCIONES "TUTO-YES Y TUTO-NO"
}else if menu_tuto == true{
// VARIABLES DE DESPLAZAMIENTO
cursor_y = view_yview+400 // esta fijo en sentido vertical
if cursor_horizontal == 2 { cursor_x = view_xview+845 } // no
if cursor_horizontal == 1 { cursor_x = view_xview+555 } // yes
// VARIABLES DE POSICION
x = cursor_x
y = cursor_y
// USA EL SPRITE PEQUEÑO
sprite_index = spr_menu_button_on_small
// SI ESTAN LAS OPCIONES DE "EXIT-YES Y EXIT-NO"
}else if menu_exit == true{
// VARIABLES DE DESPLAZAMIENTO
cursor_y = view_yview+475 // esta fijo en sentido vertical
if cursor_horizontal == 2 { cursor_x = view_xview+845 } // no
if cursor_horizontal == 1 { cursor_x = view_xview+555 } // yes
// VARIABLES DE POSICION
x = cursor_x
y = cursor_y
// USA EL SPRITE PEQUEÑO
sprite_index = spr_menu_button_on_small
}[/gml]
press ENTER:
[gml]
///PROPIEDADES
// START
if cursor_vertical == 4 {
sound_stop_all() audio_stop_all()
if !instance_exists(ob_transicion){sound_play(snd_scouter_5)}
instance_create(x,y,ob_transicion)
}
// TROPHIES
if cursor_vertical == 3 {
sound_play(snd_scouter_5)
}
// TUTORIAL
if cursor_vertical == 2 and cursor_horizontal == 0{ // abre opciones SI O NO
sound_play(snd_scouter_5)
cursor_horizontal = 2
instance_create(view_xview+845,view_yview+400,ob_menu_main_button_tuto_no)
instance_create(view_xview+555,view_yview+400,ob_menu_main_button_tuto_yes)
menu_tuto = true
}else if cursor_horizontal == 2{ // si le das a NO
menu_tuto = false
sound_play(snd_scouter_6)
cursor_horizontal = 0
if instance_exists(ob_menu_main_button_exit_no){with(ob_menu_main_button_exit_no)instance_destroy()}
if instance_exists(ob_menu_main_button_exit_yes){with(ob_menu_main_button_exit_yes)instance_destroy()}
}else if cursor_horizontal == 1{ // si le das a YES
sound_stop_all() audio_stop_all()
sound_play(snd_scouter_5)
instance_create(x,y,ob_transicion)
}
// EXIT GAME
if cursor_vertical == 1 and cursor_horizontal == 0{ // abre opciones SI O NO
sound_play(snd_scouter_5)
cursor_horizontal = 2
instance_create(view_xview+845,view_yview+475,ob_menu_main_button_exit_no)
instance_create(view_xview+555,view_yview+475,ob_menu_main_button_exit_yes)
menu_exit = true
}else if cursor_horizontal == 2{ // si le das a NO
menu_exit = false
sound_play(snd_scouter_6)
cursor_horizontal = 0
if instance_exists(ob_menu_main_button_exit_no){with(ob_menu_main_button_exit_no)instance_destroy()}
if instance_exists(ob_menu_main_button_exit_yes){with(ob_menu_main_button_exit_yes)instance_destroy()}
}else if cursor_horizontal == 1{ // si le das a YES
sound_stop_all() audio_stop_all()
sound_play(snd_scouter_5)
game_end()
}[/gml]
DRAW:
[gml]
/// ESCRIBE EL TEXTO EN EL BOTON
if cursor_vertical == 4 {
draw_self()
draw_set_halign(fa_center)
draw_set_alpha(1)
draw_text(view_xview+700,view_yview+230,"START")
}
if cursor_vertical == 3 {
draw_self()
draw_set_halign(fa_center)
draw_set_alpha(1)
draw_text(view_xview+700,view_yview+305,"TROPHIES")
}
if cursor_vertical == 2{
draw_self()
draw_set_halign(fa_center)
draw_set_alpha(1)
draw_text(view_xview+700,view_yview+380,"TUTORIAL")
}
if cursor_vertical == 1{
draw_self()
draw_set_halign(fa_center)
draw_set_alpha(1)
draw_text(view_xview+700,view_yview+455,"EXIT")
}
if cursor_horizontal == 1{
draw_self()
draw_set_halign(fa_center)
draw_set_alpha(1)
draw_text(view_xview+555,view_yview+455,"YES")
}
if cursor_horizontal == 2{
draw_self()
draw_set_halign(fa_center)
draw_set_alpha(1)
draw_text(view_xview+845,view_yview+455,"NO")
}
// DEJA LOS VALORES PREMEDITADOS
draw_set_halign(fa_left)
draw_set_alpha(1)
[/gml]
Todo funciona perfectamente, menos el boton de tutorial, debería salir dos botones a cada lado del mismo y poner YES en uno y NO en otro, y de hecho sale, pero el cursor no se pone donde debería, la variable cursor_horizontal no cambia al valor 2, no se por que, alguien ve el fallo ?, por que no lo entiendo.
Gracias,
Un Saludo.
Estoy con el menu del juego y no logro hacerlo funcionar correctamente, esta es la estructura que he hecho:
CREATE:
[gml]
///VARIABLES DE CONTROL DE DESPLAZAMIENTO EN LA INTERFAZ
cursor_x = -700 // inicialmente fuera de la pantalla
cursor_y = -700 // inicialmente fuera de la pantalla
cursor_horizontal = 0
cursor_vertical = 4
menu_exit = false
menu_tuto = false[/gml]
STEP:
[gml]
///PROPIEDADES
// SI NO ESTAN LAS OPCIONES DE "EXIT-YES Y EXIT-NO"
if menu_exit == false and menu_tuto == false{
// VARIABLES DE DESPLAZAMIENTO
cursor_x = view_xview+700 // esta fijo en sentido horizontal
if cursor_vertical == 4 { cursor_y = view_yview+250 } // exit
if cursor_vertical == 3 { cursor_y = view_yview+325 } // trophies
if cursor_vertical == 2 { cursor_y = view_yview+400 } // tutorial
if cursor_vertical == 1 { cursor_y = view_yview+475 } // start
// VARIABLES DE POSICION
x = cursor_x
y = cursor_y
// LIMITES DE DESPLAZAMIENTOS
if cursor_vertical > 4 { cursor_vertical = 4 }
if cursor_vertical < 1 { cursor_vertical = 1 }
// USA EL SPRITE GRANDE
sprite_index = spr_menu_button_on
// SI ESTAN LAS OPCIONES "TUTO-YES Y TUTO-NO"
}else if menu_tuto == true{
// VARIABLES DE DESPLAZAMIENTO
cursor_y = view_yview+400 // esta fijo en sentido vertical
if cursor_horizontal == 2 { cursor_x = view_xview+845 } // no
if cursor_horizontal == 1 { cursor_x = view_xview+555 } // yes
// VARIABLES DE POSICION
x = cursor_x
y = cursor_y
// USA EL SPRITE PEQUEÑO
sprite_index = spr_menu_button_on_small
// SI ESTAN LAS OPCIONES DE "EXIT-YES Y EXIT-NO"
}else if menu_exit == true{
// VARIABLES DE DESPLAZAMIENTO
cursor_y = view_yview+475 // esta fijo en sentido vertical
if cursor_horizontal == 2 { cursor_x = view_xview+845 } // no
if cursor_horizontal == 1 { cursor_x = view_xview+555 } // yes
// VARIABLES DE POSICION
x = cursor_x
y = cursor_y
// USA EL SPRITE PEQUEÑO
sprite_index = spr_menu_button_on_small
}[/gml]
press ENTER:
[gml]
///PROPIEDADES
// START
if cursor_vertical == 4 {
sound_stop_all() audio_stop_all()
if !instance_exists(ob_transicion){sound_play(snd_scouter_5)}
instance_create(x,y,ob_transicion)
}
// TROPHIES
if cursor_vertical == 3 {
sound_play(snd_scouter_5)
}
// TUTORIAL
if cursor_vertical == 2 and cursor_horizontal == 0{ // abre opciones SI O NO
sound_play(snd_scouter_5)
cursor_horizontal = 2
instance_create(view_xview+845,view_yview+400,ob_menu_main_button_tuto_no)
instance_create(view_xview+555,view_yview+400,ob_menu_main_button_tuto_yes)
menu_tuto = true
}else if cursor_horizontal == 2{ // si le das a NO
menu_tuto = false
sound_play(snd_scouter_6)
cursor_horizontal = 0
if instance_exists(ob_menu_main_button_exit_no){with(ob_menu_main_button_exit_no)instance_destroy()}
if instance_exists(ob_menu_main_button_exit_yes){with(ob_menu_main_button_exit_yes)instance_destroy()}
}else if cursor_horizontal == 1{ // si le das a YES
sound_stop_all() audio_stop_all()
sound_play(snd_scouter_5)
instance_create(x,y,ob_transicion)
}
// EXIT GAME
if cursor_vertical == 1 and cursor_horizontal == 0{ // abre opciones SI O NO
sound_play(snd_scouter_5)
cursor_horizontal = 2
instance_create(view_xview+845,view_yview+475,ob_menu_main_button_exit_no)
instance_create(view_xview+555,view_yview+475,ob_menu_main_button_exit_yes)
menu_exit = true
}else if cursor_horizontal == 2{ // si le das a NO
menu_exit = false
sound_play(snd_scouter_6)
cursor_horizontal = 0
if instance_exists(ob_menu_main_button_exit_no){with(ob_menu_main_button_exit_no)instance_destroy()}
if instance_exists(ob_menu_main_button_exit_yes){with(ob_menu_main_button_exit_yes)instance_destroy()}
}else if cursor_horizontal == 1{ // si le das a YES
sound_stop_all() audio_stop_all()
sound_play(snd_scouter_5)
game_end()
}[/gml]
DRAW:
[gml]
/// ESCRIBE EL TEXTO EN EL BOTON
if cursor_vertical == 4 {
draw_self()
draw_set_halign(fa_center)
draw_set_alpha(1)
draw_text(view_xview+700,view_yview+230,"START")
}
if cursor_vertical == 3 {
draw_self()
draw_set_halign(fa_center)
draw_set_alpha(1)
draw_text(view_xview+700,view_yview+305,"TROPHIES")
}
if cursor_vertical == 2{
draw_self()
draw_set_halign(fa_center)
draw_set_alpha(1)
draw_text(view_xview+700,view_yview+380,"TUTORIAL")
}
if cursor_vertical == 1{
draw_self()
draw_set_halign(fa_center)
draw_set_alpha(1)
draw_text(view_xview+700,view_yview+455,"EXIT")
}
if cursor_horizontal == 1{
draw_self()
draw_set_halign(fa_center)
draw_set_alpha(1)
draw_text(view_xview+555,view_yview+455,"YES")
}
if cursor_horizontal == 2{
draw_self()
draw_set_halign(fa_center)
draw_set_alpha(1)
draw_text(view_xview+845,view_yview+455,"NO")
}
// DEJA LOS VALORES PREMEDITADOS
draw_set_halign(fa_left)
draw_set_alpha(1)
[/gml]
Todo funciona perfectamente, menos el boton de tutorial, debería salir dos botones a cada lado del mismo y poner YES en uno y NO en otro, y de hecho sale, pero el cursor no se pone donde debería, la variable cursor_horizontal no cambia al valor 2, no se por que, alguien ve el fallo ?, por que no lo entiendo.
Gracias,
Un Saludo.