Foros - Stratos

Proyectos => CRM32Pro => Mensaje iniciado por: Warchief en 11 de Julio de 2007, 02:03:23 PM

Título: CRM32ProSprite::SelectFrame
Publicado por: Warchief en 11 de Julio de 2007, 02:03:23 PM
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
Título: CRM32ProSprite::SelectFrame
Publicado por: TheAzazel en 11 de Julio de 2007, 03:02:54 PM
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 :)
Título: CRM32ProSprite::SelectFrame
Publicado por: Warchief en 11 de Julio de 2007, 03:44:14 PM
<editado N veces/>

Sprite
(http://img253.imageshack.us/img253/1456/udrojadragonrv5.gif) (http://imageshack.us)

Resultado final
(http://img170.imageshack.us/img170/5862/capmo4.th.gif) (http://img170.imageshack.us/my.php?image=capmo4.gif)

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

Gracias. :)
Título: CRM32ProSprite::SelectFrame
Publicado por: TheAzazel en 11 de Julio de 2007, 07:56:58 PM
y el problemilla ese con el SelectFrame() al final que paso?

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

Saludos
Título: CRM32ProSprite::SelectFrame
Publicado por: Warchief en 11 de Julio de 2007, 08:20:05 PM
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.
Título: CRM32ProSprite::SelectFrame
Publicado por: TheAzazel en 11 de Julio de 2007, 08:38:10 PM
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...
Título: CRM32ProSprite::SelectFrame
Publicado por: Warchief en 11 de Julio de 2007, 08:58:21 PM
Ok, luego te envío un ejemplo al correo.