Hola! una duda..
Quisiera saber como podría hacer para que al colocar en el evento draw, que se dibuje un sprite con animación colocando "-1" la animación se detenga en cierto punto y el sprite quede así (sin bucle).
Es para cuando el jugador ve algo que le llama la atención y aparezca el icono con una animación, permanezca sin cambiar hasta que el jugador se aleje de la zona y desaparezca, así es ahora:
//Draw event
if position_meeting(obj_player.x+10,obj_player.y, obj_dooralter1)
{
draw_sprite(spr_curiosity,-1,obj_player.x+10,obj_player.y-5)
}
Gracias!
Puedes hacer una variable que empiece en 0 y la aumentas en 1 cada step y en lugar de dibujar el -1, dibujas la subimagen con ese contador, y una condición para que cuando llegue a la subimagen final ya no aumente el contador.
if position_meeting(obj_player.x+10,obj_player.y, obj_dooralter1)
{
if(contador<10) contador++;
draw_sprite(spr_curiosity,contador,obj_player.x+10,obj_player.y-5);
}
igual y reinicias el contador al final para que la proxima vez vuelva a empezar desde la primer subimagen.
Cita de: p34 en Octubre 01, 2015, 09:02:29 AM
Puedes hacer una variable que empiece en 0 y la aumentas en 1 cada step y en lugar de dibujar el -1, dibujas la subimagen con ese contador, y una condición para que cuando llegue a la subimagen final ya no aumente el contador.
if position_meeting(obj_player.x+10,obj_player.y, obj_dooralter1)
{
if(contador<10) contador++;
draw_sprite(spr_curiosity,contador,obj_player.x+10,obj_player.y-5);
}
igual y reinicias el contador al final para que la proxima vez vuelva a empezar desde la primer subimagen.
El problema ahí es, que creo que sería más trabajo a largo plazo según cada objeto que le llame la atención, creo que lo dejaré hasta ahí por ahora. Talvez con un objeto que siga al personaje y dibuje la animación en base a una variable global podría ser más práctico.
Igual gracias! :P
Te hago unas preguntas:
1) El obj_player ¿siempre avanza de izquierda a derecha? porque si no es así, este código no funcionaría bien cuando se acerca al objeto desde la derecha avanzando hacia la izquierda.
2) A qué te refieres con: "sería más trabajo a largo plazo según cada objeto que le llame la atención."
Porque si te refieres a que hay otros objetos además de "obj_dooralter1" que le llamen la atención entonces creo que la solución (no lo he probado) sería crear un objeto vacío padre llamado "capta_atencion" y definir los múltiples objetos de interés como hijos de este. Luego en el código cambiar "obj_dooralter1" por "capta_atencion" y listo.
3) Habría que definir un "else" en ese if que inicialice el contador a 0 (cero).