Cita de: fasst007 en Julio 27, 2015, 10:56:07 PM
Te respondo rapidamente porque tengo que irme al cine XD
Creo que el problema de que la animación se queda en el primer fotograma radica en que cuando el personaje colisiona con la puerta el evento colisión no entra una sola vez sino que el evento entra 30 veces por segundo (si tenés el juego con 30 frames por segundo) porque creo que entraría en cada paso (step) porque si lo dejas junto a la puerta el evento colisión se verificaría porque sigue colisionando por ese motivo se vuelve a crear una instancia de animacion_e y cuando quiere hacer la animación vuelve a crear otra desde el principio y así siempre quedando en el primer fotograma, pero cuando te alejás ya no entra más en el evento colisión y deja de crear decenas o centenas de instancias del objeto animacion_e y deja a la última creada que termine (esto es solo una suposición).
Entonces tendrías que hacer algún código que en el momento de colisionar en la puerta ejecute una sola vez el código de colisión. Podrías tener una variable que la uses como "bandera" o "marca". Por ejemplo una variable llamada: "corriendo_animacion_e" que en el inicio esté valuada en 0 (o el valor que quieras) y que cuando colisione pregunte ¿la variable "corriendo_animacion_e" es igual a 0 (o el valor que quieras)? si es así que ejecute todo el código de crear la instancia,, etc. y al final cambie esa variable a otro valor por ejemplo "1".
Entonces en el próximo step vuelve a entrar en el evento colisión haciendo la misma pregunta: ¿la variable "corriendo_animacion_e" es igual a 0? en este caso no es cierto porque es "1" entonces no ejecuta el código. De esta forma el código entraria una sola vez en lugar de 30 veces por segundo. Luego al alejarse de la puerta tendría que volver su valor a 0.
Y con respecto a que no se destruye fijate en el código de la alarma o algo de eso debe estar mal o quizás por lo dicho en el párrafo anterior puede ser que si se destruyen pero queda otra animación_e debajo porque se crearon un montón aunque no creo que sea por eso.
Conclusión: Lo primero que tenés que asegurar es que si tenés el jugador junto a la puerta y lo dejas ahí, que se ejecute una sola vez el código de colisión. Fijate en asegurar bien eso y después seguimos avanzando en lo otro.
Muchas Gracias Amigo!!! :D ya lo pude terminar muchas gracias por toda tu ayuda! :)
como podras ver soy muy nuevo en esto jaja XD y es mi primer juego pero le estoy poniendo mucho detalle y esfuerzo y con un poco de ayuda de esa comunidad y de personas como ustedes se que sera posible gracias de nuevo!! :D