Noticias

¡Ayuda a la Comunidad GM, haz una donación!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: if - else?(solucionado)  (Leído 326 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado 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

 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  
          }
« última modificación: Enero 04, 2020, 11:23:43 am por Ikaro3d »

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado kostra

  • Legendario
  • *
  • Puntos: 2524
  • Mensajes: 2.076
  • Agradecido: 105 veces
  • Sexo: Femenino
  • Sé literalmente el sentido de la vida.
    • Ver Perfil
Respuesta #1 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

"ola k ase clickarme o k ase"
la imagen no se quita xD
 
Los siguientes usuarios dieron las gracias a este tema: Ikaro3d


Desconectado Ikaro3d

Respuesta #2 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

 


Desconectado BssString

Respuesta #3 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í:
Código: [Seleccionar]
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

 
Los siguientes usuarios dieron las gracias a este tema: Ikaro3d


Desconectado Ikaro3d

Respuesta #4 en: Enero 04, 2020, 12:13:42 am
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í:
Código: [Seleccionar]
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