Un grand merci pour vos retours.
@Lo-X : c'est ce principe que j'ai déjà mis en place :
- un namespace "Catalog" qui fait vraiment catalogue : il contient une map pour stocker des AnimHandlers et des methodes pour y accéder, pour en ajouter, en enlever, et tout détruire.
- une classe AnimHandler : un gestionnaire d'animation qui permet de créer des animations pour une planche donnée et de les jouer. Cette classe (non instanciable) est dérivée en deux sous classes : Oredered et Unordered. La première permet de jouer les animations dans l'ordre d'apparition des différents sprites comme tu le propose, et la deuxième permet de gérer les jeux de sprites qui pourraient se jouer dans plusieurs ordres, sans qu'on est besoin de créer une ligne par séquence à jouer. Elle permettra aussi de jouer des fils d'animations aléatoire, (par exemple, un background d'évolution de le météo suivant une séquence aléatoire).
Voilà pour l'architecture, donc on est assez sur la même idée, mais je voudrais ne rien oublier, donc j'espère avoir encore plus de retours (même de ta part si t'a encore des idées d'améliorations)
J'hésite à templatiser le label (pour ne pas forcer l'utilisation d'une chaine de caractère pour ceux qui veulent les repérer autrement) mais ça risque d'être un peu complexe pour ceu qui ne sont pas à l'aise avec les templates.. qu'est-ce que tu en penses ?
@lezebulon : je n'aime pas trop l'idée de manipuler des fichiers plats, je penses que ça rebute pas mal de personnes, mais y'a peut-être moyen d'en tirer quelque chose (faut investiguer). J'aime beaucoup plus l'idée de l'exe qui permet de jouer rapidement l'anim, mais on sort du contexte de la lib. Mais c'est pareil, ça peut être envisagé en annexe, puisqu'on est psa non plus sur un projet gigantesque a priori.
Merci encore pour vos retours
N'hésitez pas à intervenir dès que vous avez une idée, et à critiquer l'architecture dont je vous ai parlé.
Allez maintenant, je file dans le sous-forum Graphique pour exposer mon problème de segfault avec un simple "sf::Image* test = new sf::Image();"