Hola grupo!

estoy dando mis primeros pasos en gamemaker y no puedo resolver un problema que seguramente es sencillícimo de resolver.

Mi personaje tiene 7 sprits

2x caminando (iz/der)
3x parado (iz/der/frente)
2x mirando (arriba/iz y arriba/der)

con los eventos "press <x>" y "realease <x>" (en donde x=right, up, left, down) logro que cambie los sprits correctamente y se mueva hacia los lados. Al apretar "down" mira al frente, y al apretar "up" debe mirar hacia "arriba a la izquierda" o "arriba a la derecha", según la dirección en la que se encuentre mirando en ese momento.

Cómo hago para controlar hacia qué dirección está mirando en el momento de apretar "up"?

Me imagino que será algo así como

if (sprite = sprite.right) {
object_set_sprite = sprite.upright
}


pero no doy con las líneas de código apropiadas.

Muchas gracias!
--
@jupixweb

Hola jpsaenz! Lo que podés hacer es esto:

Cuando presionas la tecla arriba:
///Step

//Mirar en diagonal
//Arriba izquierda
if (sprite_index == [sprite] && keyboard_check(vk_up)){
    sprite_index = [sprite];
}
//Arriba derecha
else if (sprite_index == [sprite] && keyboard_check(vk_up)){
    sprite_index = [sprite];
}
//Al soltar las teclas
if (keyboard_check_released(vk_up)){
    switch (sprite_index){
        case spr_upleft: sprite_index = [sprite]; break;
        case spr_upright: sprite_index = [sprite]; break;
    }
}


Donde dice [sprite] reemplazalo por el nombre del sprite correspondiente.

Te dejo un archivo adjunto por si lo necesitas ver.
Espero que te sirva!

Hola Hezz!

muchas gracias por la respuesta. Voy a probarlo!

Saludos!
Juan Pablo
--
@jupixweb

Funciona perfectamente - muchas gracias!

Saludos,
Juan Pablo
--
@jupixweb