Historique des modifications - Message

Message #11679

Sujet: Système d'animation d'irrlicht


Type Date Auteur Contenu
Dernière modification 18-06-2015 22:00:31 jonath313
Ok merci pour ces précisions. J'ai essayé de faire avec une classe IdleState, je n'y suis pas arrivé, j'y ais passé la soirée. Je me permet de te poser une question pour savoir si ce qui va suivre est une solution ...

Est-ce que je peux Passer le AnimationManager* à GenericState ?

En ajoutant une fonction à la classe AnimationManager du genre :

Code c++ :


int getCurrentActiveAnimation()
{
       auto current = anim[animNumber];
       current->activated = value;
       return  value;
}


Cette fonction me permettrait de savoir en continue laquelle est active, après je ferais quelque chose du genre :

Code c++ :


GenericState::GenericState( AnimationManager* a, IAnimatedMeshSceneNode* NPlayer)
{
    NodePlayer = NPlayer;
...
    amgr = a;
}

...

void GenericState::unbind()
{
   binded = false;
   int ActiveAnimation = amgr -> getCurrentActiveAnimation();

   switch(ActiveAnimation )
   {
     case 0: //IDLE
       /// On joue les frames idle
     break;

     case 1: //RUNNING
       /// On joue les frames courrir
     break;
   }
   ...
    default:
       /// On joue les frames idle
     break;
}


A chaque relâchement d'un bouton il y a binded = false, à partir de ce moment il est possible de savoir quand l'animation à jouer doit être déterminée. Après je suis tétu, je te l'accorde. Mais si cette solution n'est pas fonctionnelle, dis moi pourquoi stp...

Bon du coups on code sur un forum smile mais d'un côté çà me permet d'échanger en live sur les points qui me bloques, encore une foi je te pose une question qui concerne surtout le language "objet" (car en électronique on ne fait pas d'objet :p).

Merci.

EDIT: Je viens de penser à quelque chose. Dis moi si je me trompe mais c'est encore une mauvaise idée car au moment du unbind() l'animation active sera celle qu'on jouait et pas la restante non ? (çà va partir en discours philosophique ...)
Création du message 18-06-2015 21:57:27 jonath313
Ok merci pour ces précisions. J'ai essayé de faire avec une classe IdleState, je n'y suis pas arrivé, j'y ais passé la soirée. Je me permet de te poser une question pour savoir si ce qui va suivre est une solution ...

Est-ce que je peux Passer le AnimationManager* à GenericState ?

En ajoutant une fonction à la classe AnimationManager du genre :

Code c++ :


int getCurrentActiveAnimation()
{
       auto current = anim[animNumber];
       current->activated = value;
       return  value;
}


Cette fonction me permettrait de savoir en continue laquelle est active, après je ferais quelque chose du genre :

Code c++ :


GenericState::GenericState( AnimationManager* a, IAnimatedMeshSceneNode* NPlayer)
{
    NodePlayer = NPlayer;
...
    amgr = a;
}

...

void GenericState::unbind()
{
   binded = false;
   int ActiveAnimation = amgr -> getCurrentActiveAnimation();

   switch(ActiveAnimation )
   {
     case 0: //IDLE
       /// On joue les frames idle
     break;

     case 1: //RUNNING
       /// On joue les frames courrir
     break;
   }
   ...
    default:
       /// On joue les frames idle
     break;
}


A chaque relâchement d'un bouton il y a binded = false, à partir de ce moment il est possible de savoir quand l'animation à jouer doit être déterminée. Après je suis tétu, je te l'accorde. Mais si cette solution n'est pas fonctionnelle, dis moi pourquoi stp...

Bon du coups on code sur un forum smile mais d'un côté çà me permet d'échanger en live sur les points qui me bloques, encore une foi je te pose une question qui concerne surtout le language "objet" (car en électronique on ne fait pas d'objet :p).

Merci.

EDIT: Je viens de penser à quelque chose. Dis moi si je me trompe mais c'est encore une mauvaise idée car au moment du unbind() l'animation active sera celle qu'on jouait et pas la restante non ? (çà va partir en discours philosophique ...)

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
151 invités en ligne
membre en ligne: -
RSS Feed