bueno esto pasa,el evento key press al ponerle la accion jump to position o escribir un pedaso de codigo para mover al personaje, no me carga la animacion a pesar de poner change sprite o incluso escribirlo en el codigo, me lo pone en el frame 0, tambien el key press se comporta como el evento keyboard, intente usar el evento keyboard como el key press y si efectivamente funciona como el evento key press, de alguna rara forma estan invertidos, pero el problema aun sigue, no me carga la animacion y el pesonaje se me queda trabado en el frame 0 de su animacion, la unica forma en que key press me funciona bien es con la accion de move fixed, pero move fixed no me deja pulsar dos teclas a la ves y tener un movimiento en diagonal y a su vez ejecutar la animacion de las diagonales.

Estoy bastante confuso, perdido y desesperado, nose si estoy haciendo algo mal o es un bug del programa y talves tenga que conseguirme otra version  :-\ , espero sus respuestas y gracias

Key_PRESS es presionar una vez
Keyboard es presionarlo y mientras este presionado hara la accion.

En el sprite si en subimage pones 0 se vera el frame 0, para que funcione bien prueba a poner -1 (animacion completa).

Gracias, me funciono, ahora el problema que tengo es que no para la animacion cuando esta quiero, ni tampoco me carga la animacion para los movimientos en diagonal, sabes de alguna solucion a eso?  :)

Para los movimiento en diagonal puedes marcar direcciones tipo asi :

Create
movdireccion = 0 //1 derecha,2izquierda,3arriba,4diagonal derecha

STEP
switch(movdireccion)
case 1 : sprite_index = spr_movimientoderecha
//TODO IGUAL CON CADA CASO
if keyboard_check(vk_right) and vk_up) {
movdireccion = 4;
}else if keyboard_check(vkright) {
movdireccion = 1;
}
//TODO ASI

No escribo mas porque me caso, el else if se pone para que cuando presiones derecha y arriba solo se marque dicho sprite. Para lo de animacion ya es obligatorio que lo hagas acorde, mediante image_speed = X puedes bajar su velocidad.


#4 Septiembre 08, 2014, 11:32:40 PM Ultima modificación: Septiembre 08, 2014, 11:36:16 PM por shadowsFTW
trato de entender lo que me dices xd
asi es como lo tenia antes, pero no me cargaba la animacion :/

if keyboard_check (ord("w")) and keyboard_check (ord("d"))
{
sprite_index = spr_arriba_d;
}
if keyboard_check (ord("w")) and keyboard_check (ord("a"))
{
sprite_index = spr_arriba_izq;
}
if keyboard_check (ord("s")) and keyboard_check (ord("d"))
{
sprite_index = spr_abajo_d;
}
if keyboard_check (ord("s")) and keyboard_check (ord("a"))
{
sprite_index = spr_abajo_izq;
}

si me puedo mover en diagonal, el problema es que no carga la animacion de las diagonales  :(

Bueno yo me refiero a marcar cada movimiento con una variable (si va para la derecha 1,arriba2,etc) y luego de haber marcado las variables pues indicar el sprite con un switch (case 1 : sprite_index = spr_movimientoderecha; break;)

En definitiva, marcas cada movimiento con una direccion (recuerda que los movimiento up,left,down,right deben ser elseif para que un arriba-derecha o arriba-izquierda tenga preferencia y se vea su animacion) y luego marcas con un switch todos los sprites (se puede hacer desde el mismo if pero queda mas ordenado asi xd).

Espero que haya sido un poco mas explicativo, ahora me pillas pa irme a dormir xd esto del bachiller te jode los horarios :S