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]
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
Gracias por la aclaracion, pero no logro entender como le puede funcionar al instructor, es un curso que hay en Udemy, sobre gml2
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
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