Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: gabyT en Agosto 09, 2015, 08:25:46 PM

Título: problema con los sprites (solucionado)
Publicado por: gabyT en Agosto 09, 2015, 08:25:46 PM
hola, mi problema es el siguiente. tengo varias animaciones de mi personaje hechas con sprites, por ejemplo para subir una pared, utilizo un sprite del personaje en el que salta, se trepa y por ultimo se para arriba de la pared, al terminar el sprite le pongo que cambie al sprite de cuando esta quieto, y le cambio las coordenadas para que quede en donde termino la animacion de subir la pared. esto quiere decir que estoy usando un sprite mas grande de lo que es el personaje, ya que en la animacion, cambia de posicion... bueno el problema esta en que aveces se reproduce correctamente el sprite y otras no. me salta la gran mayoria de subimagenes... se que no es un problema de codigo ya que realizando exactamente la misma accion, pasa que aveces funciona o aveces no y tambien tengo puesto que image_speed=1, por lo que no es un problema de velocidad...
el sprite es de 142x322 y tiene 32 subimagenes.
no encuentro la solucion a este problema... es muy molesto ya que aveces, la animacion dura como 4 segundos (que seria lo correcto) y otras solo aparece arriba de la pared en menos de 1 segundo...
este problema tambien me pasa con otros sprites mas pequeños.
Título: Re:problema con los sprites
Publicado por: penumbra en Agosto 09, 2015, 09:09:01 PM
No tengo idea de cómo es tu juego y quizás uses ese método por alguna razón en específico, pero me parece que el método que usas te obliga a que (si se mantiene la velocidad de animación) la altura de las paredes que el personaje puede trepar siempre deberá ser la misma, o la animación ya no va a calzar y se verá mal.

A mi me parece que es mejor tener varios sprites en lugar de uno solo que haga toda la animación porque eso da mayor control, pero obviamente vas a tener que usar más código para enlazar cada animación, y detectar cuándo se inicia un ascenso y cuando se termina el ascenso.

Si el sprite tiene 32 subimágenes y le das una velocidad de image_speed = 1, entonces, a una velocidad de 30 fps, el sprite se reproducirá en un tiempo de 1.06 segundos. Si la velocidad del juego se mantiene siempre constante, esto supone que forzosamente hay código que está causando un conflicto en la velocidad del sprite, porque no es posible que a veces tarde 4 segundos en reproducirse (esto no debería de ser así a una velocidad de 1) y a veces 1 segundo (esto sí es correcto a una velocidad de 1)
Título: Re:problema con los sprites
Publicado por: gabyT en Agosto 09, 2015, 09:50:32 PM
primero que nada, gracias por tu rapida respuesta penumbra.
uff justo cuando termine de escribir un texto enorme explicando mas a fondo todo lo que estoy haciendo y bla bla bla me di cuenta, mientras releia lo que escribi, donde podia estar el problema... y asi fue  :-[
el problema era que yo cambiaba de sprite pero no ponia image_index=0 (porque pensaba que no era necesario al cambiar de sprite, creia que automáticamente se ponia en 0) y esto era la causa de mi salto de subimagenes. se cambiaba de sprite, pero continuaba desde la image_index del anterior, por eso aveces funcionaba y aveces no.

muchas gracias por la ayuda.  ;)