Gestionar muchas animaciones

Started by Danielo515, October 08, 2010, 10:05:39 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Danielo515

A ver si alguien con mas experiencia me aconseja un poco sobre como gestionar un porrón de animaciones. Tengo varias partes del cuerpo,6 concretamente. Cada una tiene 10 niveles, y aunque en todos los niveles las animaciones son las mismas, el aspecto de la parte del cuerpo cambia. Por supuesto en cada nivel cada parte dem cuerpo tiene un mínimo de 3 animaciones. Lo primero: como lo reparto en fpgs? Había pensado en 1fpg por cada parte del cuerpo y nivel con todas las animaciones de ese nivel, ya que creo que es lo mas probable que se necesiten todas en cada nivel. Hasta ahí vale, pero y a nivel de código? Un mega array con todo, un array por cada parte del cuerpo, un array por cada nivel... Como y cuando cargo cada fpg en memoria?

Muchas gracias a todas las posibles respuestas

Outlaw

Hola Danielo, queria saber si a los 10 niveles que te referis son 10 fotogramas (o cuadros), no entendi muy bien, pero si se usan en todos los niveles lo correcto seria usar fpgs que permitan un manejo comodo, incluso podria ser:
1º fpg: parte alta del cuerpo
2º fpg: parte media
3º fpg: parte baja
Estaria bueno que seas mas explicativo con respecto al tema  ??? . Yo capaz usaria una matriz de m x n datos, correspondiendo m a cada parte y n a cada fotograma, sino tambien ponerlo en arrays separados, es casi lo mismo creo, salvo por la extension que se ocupa en memoria, pero, siendo que vos decis que se usan en todos los niveles, caragr las cosas en arrays distintos seria de gusto, dado que estarias usando todos, y la razon de usar varios es para no estar cargando porque si...no se si me hice entender!  :P
"Life is cheap when the bounty is high"

Danielo515

Muchas gracias outlaw, voy a intentar explicarme un poco mejor

Cada parte del cuerpo tiene 10 niveles, ej: brazo nivel 1, nivel 2 .... nivel 10
Y en cada nivel tiene como 3 animaciones, brazo nivel 1 animación 1 etc
y cada animación tiene unos 30 frames, por lo que tengo
3*10*30=900 frames que gestionar.

De ahí que necesite una buena organización.

Había pensado un array por cada parte

brazo[niveles][animaciones]

Lo que no se es si devería añadir en el tipo de parte del cuerpo el propio array.

type parte_cuerpo
int progreso
int dano
int nivel
anim animacion[niveles][]
end

Pero como el anim es un tipo de dato, no se como rellenar un array de dos niveles, si alguien me ilustra....

Drumpi

Bueno, tal como yo lo haría, suponiendo que las animaciones de cada nivel contienen el mismo número de frames, haría una FPG por cada parte del cuerpo y por cada nivel, e intentaría mantener los mismos números de las animaciones (por ejemplo, que siempre sea del 1 al 10 los frames del puñetazo con el brazo, en todos los niveles).
Así, sólo necesitas guardar el array de cada animación, y sustituir en el proceso brazo el FILE por el del FPG correspondiente al nivel.

Además, así no necesitas cargar todos los gráficos: al cambiar de nivel, descargas un FPG y cargas el del nuevo nivel.

Para rellenar un array bidimensional, se hace de la misma forma que uno unidimensional (una lista de datos separados por comas), pero no recuerdo nunca el orden de los índices ^^U
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Danielo515

La verdad es que justo eso es lo que venía haciendo hasta ahora pero a mucha menor escala. Me refiero a lo de mantener el número del gráfico e ir cambiando el valor del file.
Lo que no he dicho es que pueden convivir partes del cuerpo de distintos niveles, así que creo que tu propuesta es la más acertada.

Un saludo a todos y muchas gracias.

Windgate

¿Has visto el módulo de animación de mi tutorial? El tema 24, usa una matriz de animaciones que se indexan con nombre + estado, es la mejor solución que he encontrado hasta ahora para gestionar animaciones.
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Danielo515

¿Windgate, lo que he propuesto no te parece muy similar a lo que dices?
¿De dond crees que saqué la idea?
¡DE TU TUTORIAL!

Lo llevo siempre en pdf en el movil  ;D y esa fue una de las partes que más me gustó porque me pareció una solución mu elegante. Solo venía a ver si aquí alguien se le ocurría una forma de llevarlo un paso más allá.

Muchas gracias.