¿Como hago que cuando pasen 3 segundos de una accion, cambie un sprite?
Cuando le doy de comer a una mascota, la manzana choca con la mascota y se elimina la manzana, al mismo tiempo el sprite de la mascota cambia por un sprite con la animacion comiendo. El problema es que, luego de que se la coma,quiero que vuelva el sprite normal.
Seguro es algo muy facil pero soy nuevo, saludos :)
Usá alarmas, cuando le das de comer ejecutás una alarma y en la acción de esa alarma le pones sprite_index = tuSpriteComiendo; después dentro de esa misma alarma cuando cambiás de sprite le pones que ejecute otra de esta forma alarm[1] = room_speed * 3; y dentro de alarm[1] le pones sprite_index = tuSpriteComun; y ya.
No me sale :'( :'( :'( Soy demasiado noob :(
Crees que podrias hacerlo si te paso el .gmk? Lo siento :'(
http://www.mediafire.com/download/3rxvygp9mhr5dtb/Pet.zip
En tu objeto personaje ponele un evento de colisión con la fruta 2 (la que está con menos opacidad) y dentro poné un bloque de código con la siguiente línea:
[gml]alarm[0] = 5; // Se va a ejecutar la alarma 0 del obj. personaje en 5 step (pasos, no segundos).[/gml]
Después dentro del evento alarm 0 de tu personaje poné estas líneas:
[gml]sprite_index = Foxy_Comiendo; // Cambiamos el sprite del personaje.
alarm[1] = room_speed * 3; // La alarma 1 se va a ejecutar en 3 segundos, por eso multiplicamos la velocidad de la room por tres.[/gml]
En el evento de alarm 1 de tu personaje poné esto:
[gml]sprite_index = Foxy_Normal; // Cambiar el sprite por el sprite normal.[/gml]
Una cosa muy importante es que los nombres no se pueden repetir y vos repetiste el nombre de un objeto en un sprite, es por eso que en el código anterior puse "Foxy_Normal" en vez de "Foxy" como estaba, cambiale el nombre del sprite por "Foxy_Normal" para evitar problemas.
Te lo dejo acá explicado porque tengo :GMS: y no puedo exportar a *.gmk.
Muchisimas gracias, y perdon si te quité tiempo valioso, sos un genio ;)