Saludos!
He creado un script para un juego plataformas y me funciona bien. El problema es cuando le pongo el cambio de sprites me hace el tonto. Se me baja el personaje al suelo y el cambio de derecha a izquierda le cuesta también.
En total hay 3 sprites que se componen de 2 imágenes cada una. Cuando le quito el sprite_index y image_speed el juego me va sin problemas.
Os pongo el script en questión:
// Moverse a la derecha
if (rkey) {
hspd = spd;
sprite_index = spr_player_drcha
image_speed = 0.09;
}
// Moverse a la izquierda
if (lkey) {
hspd = -spd;
sprite_index = spr_player_izq
image_speed = 0.09;
}
// Chequear que no se mueva
if ((!rkey && !lkey) || (rkey && lkey)) {
hspd = 0;
sprite_index = sprite_player;
image_speed = 0.05;
}
Se ve como un problema de mascara de colision. Trata de colocar un sprite rectangular que sea la mascara de colision.
El problema es la mascara de colisión y el punto de origen! Osea trata de hacer todos los sprites del mismo tamaño y q el punto de origen sea el mismo para todos xq si uno esta mas abajo q otro entonces el sprite quedaría como atascado en el suelo x ejemplo