Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Ikaro3d en Enero 02, 2020, 08:28:13 PM

Título: if - else?(solucionado)
Publicado por: Ikaro3d en Enero 02, 2020, 08:28:13 PM
Hola compañeros llevaba tiempo sin preguntar nada ,estoy siguiendo un curso y estoy topando con problemas que no entiendo ,tengo un personaje que anda de derechas a izquierdas y si se detiene se queda de frente , pero el caso que con el código que tengo puesto que es el mismo que el del curso , cunado pulso a la izquierda se desplaza pero no inicia la animación y hacia la derecha se desplaza pero se quede con el spr de frente

[gml] if (keyboard_check(ord("M"))) {
          
          
           sprite_index=spr_derecha
          x+=3
        }
        else {
          sprite_index=spr_frente
        }
          
       
       
if (keyboard_check(ord("N"))) {
          
          
           sprite_index=spr_izquierda
          x-=3
        }
       
        else {
          
          sprite_index=spr_frente 
        }[/gml]
Título: Re:if - else?
Publicado por: kostra en Enero 02, 2020, 08:32:15 PM
if (keyboard_check(ord("M"))) {
             
             if sprite_index!=spr_derecha
             sprite_index=spr_derecha
             x+=3
          }
          else {
            if sprite_index!=spr_frente
            sprite_index=spr_frente
          }
             
         
         
if (keyboard_check(ord("N"))) {
             
             if sprite_index!=spr_izquierda
             sprite_index=spr_izquierda
             x-=3
          }
         
          else {
             if sprite_index!=spr_izquierda
            sprite_index=spr_izquierda
          }


lo que pasa es que se asignan los sprites en bucle, resete
andose la image_index a 0 en todo momento
Título: Re:if - else?
Publicado por: Ikaro3d en Enero 02, 2020, 10:33:29 PM
Gracias por la aclaracion, pero no logro entender como le puede funcionar al instructor, es un curso que hay en Udemy, sobre gml2
Título: Re:if - else?
Publicado por: BssString en Enero 02, 2020, 11:56:37 PM
Hola Ikaro3d

Según como lo veo yo, el código no funciona bien, no sé que habrá hecho el instructor, de hecho no tiene mucho sentido para mi que se escriba un "else" después de cada keyboard_check.

Para mi lo que tiene sentido es que se haga algo así:
if keyboard_check(izquierda) {
//Moverse a la izquierda
}
else if keyboard_check(derecha) {
//Moverse a la derecha
}
else {
//No moverse
}


PD: la palabra izquierda y derecha dentro del Keyboard Check es referencial, ahí pones la tecla que quieras comprobar

Saludos
Título: Re:if - else?
Publicado por: Ikaro3d en Enero 04, 2020, 12:13:42 AM
Cita de: BssString en Enero 02, 2020, 11:56:37 PM
Hola Ikaro3d

Según como lo veo yo, el código no funciona bien, no sé que habrá hecho el instructor, de hecho no tiene mucho sentido para mi que se escriba un "else" después de cada keyboard_check.

Para mi lo que tiene sentido es que se haga algo así:
if keyboard_check(izquierda) {
//Moverse a la izquierda
}
else if keyboard_check(derecha) {
//Moverse a la derecha
}
else {
//No moverse
}


PD: la palabra izquierda y derecha dentro del Keyboard Check es referencial, ahí pones la tecla que quieras comprobar

Saludos
Genial tu código funciona perfectamente gracias !!! , podía verte leído antes de haber formateado ,pensando que al igual tenia algún error en el sistema  :-[

aun a si  no tengo muy claro entonces para que se utiliza un else  si también podría poner un evento de teclado sin el