Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





CRM32ProSprite::SelectFrame

Iniciado por Warchief, 11 de Julio de 2007, 02:03:23 PM

« anterior - próximo »

Warchief

Tengo un comportamiento inesperado.

Creo en el editor dpf un sprite de 128x32. Tiene 4 frames a lo ancho de 32x32, pero pongo frame start y end = 1, porque no quiero que se autoanime, quiero seleccionarlas yo.

El comportamiento actual es algo raro con SelectFrame, ya que:
SelectFrame( 0 ) Muestra el frame de 0 a 32
SelectFrame( 1 ) Muestra el frame de 32 a 64
SelectFrame( 2 ) Muestra el frame de 32 a 64 en vez de 64 a 96
SelectFrame( 3 ) Muestra el frame de 32 a 64 en vez de 96 a 128

Parace como si capase los frames, pero en vez de hacerlo a un único frame, lo hace a los dos primeros.

De hecho, en efecto, si pongo que tiene 2 frames, me deja coger el frame tercero. Parece que hay un offset mal, ya que debería dejarme coger los 2 primeros, pero no el tercero. Además de cambiar el 0 y el 1 O_o.  (Si pongo el 0 me muestra el 1, y viceversa).

En cualquier caso, ¿cuál es el procedimiento correcto para evitar la autoanimación?

Gracias

TheAzazel

Veo que vuelves a la carga :)

estoy algo espeso y no pillo el problema... si me pudieras mandar un fragmento de codigo que pueda compilar y probar lo echo un ojo rapidamente que no parece serio. Seguramente es de comprobacion de algun limite y tal..

Para parar la animacion, utiliza un ->Pause() y ya no se animara mas hasta que la vuelvas a activar con un ->Resume()

esperando quedo :)

Warchief

<editado N veces/>

Sprite


Resultado final


Ha funcionado con Pause() y SelectFrame(). Lo que me faltaba era el Pause().

Gracias. :)

TheAzazel

y el problemilla ese con el SelectFrame() al final que paso?

lo digo para comprobar que funciona correctamente y arreglarlo si procede.

Saludos

Warchief

Err.. jeje. No sé dónde estará.

El problema era que intentaba usar SelectFrame() poniendo menos frames en el dpf. Es decir, en el caso de la imagen de arriba, en vez de poner 3 frames de 32x32 y pararlo con un Pause(), ponía en el dpf que era 1 única animación de 32x32, por lo que hacía cosas raras como mostrar el frame 2 al darle SelectFrame(1). Si te interesa el caso puedo intentar un minimain para que lo veas.

TheAzazel

Si puedes te lo agradeceria para ver si el comportamiento es erroneo o no. Me da que algo raro en los intervalos puede pasar cuando fuerzas a hacer lo que has intentado...

Warchief

Ok, luego te envío un ejemplo al correo.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.