Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Un outil pour les animations 2D  (Lu 12329 fois)

0 Membres et 1 Invité sur ce sujet

Bigz

  • Full Member
  • ***
  • Messages: 154
    • Voir le profil
    • Bigz.fr
Re : Un outil pour les animations 2D
« Réponse #15 le: Mai 07, 2012, 09:27:57 am »
Dans un précédent projet j'avais aussi opté pour un fichier de conf définissant les attributs des différentes images que j'utilisais. En définissant à chaque fois la taille d'un sprite à l'intérieur de l'image, ainsi que le nombre de lignes et de colonnes. Ceci permettant principalement de gérer des animations sur plusieurs lignes, lorsque celle ci contient trop de sprite pour être contenu dans une image de taille acceptable en largeur par la carte graphique. Il faut pas oublier que la mémoire de nos CG limite la résolution des images que l'on souhaite charger.

kamui

  • Sr. Member
  • ****
  • Messages: 291
    • Voir le profil
Re : Un outil pour les animations 2D
« Réponse #16 le: Mai 07, 2012, 11:16:19 am »
Bonjour,

merci de cette réponse, c'est en effet un détail important à prendre en compte. J'ai avancé un peu de mon côté et j'ai de la même façon relevé pas mal de choses qui vont devoir être fixées, dès que j'aurais du temps je vous en ferai part.

Pour l'instant, typiquement, avec une planche de sprites rigoureuse ne contenant que des sprites de 32*32 (la taille par défaut de "l'oeil" qui passera sur les planches, l'utilisation ressemble à ceci (il manque des choses (des paramètres notamment) car je ne me souviens plus trop ce que j'ai fait) :

using namespace sfAnim::Catalog;

Add( "Perso1", new OrderedAnimHandler("Perso1.png") );

Get("Perso1")->NewAnimation("marche gauche", 0, 3); //0 renseigne la ligne sur la planche, 3 le nombre de sprites pour cette animation

//boucle de gestion du rendu et des évènement

//if (...)
   Get("Perso1")->Play("marche gauche");

//...
App.Draw(Get("Perso1")->GetSprite());
//fin boucle

Anata

  • Jr. Member
  • **
  • Messages: 77
    • Voir le profil
Re : Un outil pour les animations 2D
« Réponse #17 le: Mai 07, 2012, 06:13:05 pm »
J’étais parti dans cette optique la il y'a quelques temps pour mes besoin.

void load_anim(
        struct anim * anim,     //structure de mon anime
        int id_anim,            // id de l'anime
        int frm_start,          // 1ere frame de depart
        int frm_number,         // nombre de frame
        std::string file,       // nom du fichier de la planche d'anime
        sf::Uint32 time,        // temps entre chaque frame
        bool repeat,            // a répéter ou pas
        char sens,              // sens gauche ou droite
        int sx,                 // source en x de ma première frame
        int sy,                 // source en y de ma première frame
        int px,                 // position en X a l’écran
        int py)                 // position en Y a l’écran
 

avec ca, je contrôle mes anime avec mes autres fonctions.

C'est tout ce que j'avais besoin pour l'instant au niveau anime générale

En espérant que ca puisse t'aider

kamui

  • Sr. Member
  • ****
  • Messages: 291
    • Voir le profil
Re : Un outil pour les animations 2D
« Réponse #18 le: Mai 07, 2012, 08:27:10 pm »
Merci à toi pour ton soutien.

Maintenant, je ne te cache pas qu'essayant (je dis bien essayer hein) de respecter les principes de base de la SFML (Cf...euh bah sf dans sfml), je n'utiliserai probablement pas ton code, car il faut que cela reste simple (j'essaie d'éviter d'avoir 50 paramètres), et tu mélange un peu animation et sprite alors que je fais la distinction entre le rôle du sprite (qui a une position, qui est drawable, etc), et le rôle d'une classe d'animation (modifier le contenu (l'image) d'un sprite). Je trouve également ta fonction assez peu orientée objet (à vue de nez on dirait de la prog modulaire, du C with classes au pire)


Mais j’apprécie néanmoins ton aide, ça me permet de voir une plus large opinion d ce que les gens attendent d'une mini-lib gérant les animations.

Anata

  • Jr. Member
  • **
  • Messages: 77
    • Voir le profil
Re : Un outil pour les animations 2D
« Réponse #19 le: Mai 07, 2012, 09:25:41 pm »
Faut en aucun cas prendre exemple sur cette fonction qui a la base, comme tu l'as deviné, viens du C.

Ce qui a bien changé au passage C++.

C’était juste pour te faire voir les paramètres que j'utilise le plus souvent pour une anime dans mes test :D

alexan14

  • Newbie
  • *
  • Messages: 1
    • Voir le profil
    • E-mail
Re : Un outil pour les animations 2D
« Réponse #20 le: Juillet 18, 2013, 02:47:53 pm »
Salut.

Ayant déjà essayé Slick ( :-[ ), je trouve leur gestion des animations super simple à utiliser. Je ne m'en rappelle plus exactement mais les méthodes étaient intuitives. Tu pourrais t'en aider.

Voila.

PS : Je sais que le dernier date de 2012 mais bon, on sait jamais...