Historique des modifications - Message

Message #11677

Sujet: Système d'animation d'irrlicht


Type Date Auteur Contenu
Création du message 18-06-2015 18:56:53 jonath313
C'est dommage que tu ne mette pas plus en avant ton travail car c'est très interessant. Donc tu fais une thèse, je suppose que tu es un programmeur software, en tout cas on voit que tu connaît bien le domaine car t'as l'air de te débrouiller. J'aurai bien aimé avoir cette autonomie mais bon j'ai choisie l'autre côté de la bestiole informatique, je suis dans le hardware (niveau ingé), donc électronique à donf. Ce que j'ai appris en programmation je l'ai appris seul (je ne compte pas les bases du language C apprises à l'école), les projets sur lesquels je travail sont purement issue des idées personnelles et comme je te l'ai dis précédemment, tout çà c'est un loisir, j'aime essayer de créer des choses par moi-même.

A la base j'ai commencé par apprendre la modélisation 3d et après j'ai tenté l'expérience en alliant mes modeles avec irrlicht. J'ai utilisé irrlicht pour faire plusieurs projets:
  • Logiciel d'autocomposition musical (Gui irrlicht).
  • Une application qui fait bouger un cube sur irrlicht par l'intermédiaire d'un module inertiel que j'ai fabriqué (USB).
  • Et en ce moment je reprend un vieux projet de jeux video 2 players.


Pour ma question supplémentaire, je vais rédiger autrement:

  • > Le point bloquant concerne vraiment le langage C++ et non la partie Irrlicht.
  • > J'ai repris ton code j'ai compris comment il fonctionne, je l'ai implémenté sur mon projet -> tout fonctionne.


Voila, le contexte est énoncé. Enfait, je lance une animation en appuyant sur un bouton, si j'appui sur un autre bouton, une nouvelle animation se lance. Le souci est que si le bouton précédent reste appuyé, l'animation précédente devrait reprendre quand la nouvelle se termine :

Le personnage marche -> je saute (mais le bouton avancer est resté appuyé) -> l'animation sauter est terminé -> Actuellement on unbind sur les frame IDLE qui sont toujours les même.

Donc avant de solliciter ton aide, j'ai analysé ce que je devrais faire:

Plutôt que unbinder sur :

Code c++ :


void GenericState::unbind()
{
   binded = false;
   NodePlayer->setAnimationSpeed(20);
   NodePlayer->setLoopMode(true);
   NodePlayer->setFrameLoop(0,0);
}

Je devrais regarder si une autre animation est active, le cas échéant, lancer l'animation IDLE. çà implique un fonctionnement "inter-classe" si je puis me permettre d'appeler çà comme çà. Peut être que çà ne vient pas de là non-plus, je peux me planter, mais c'est une idée à laquelle j'ai réfléchie. Au niveau algorythmique çà donnerai :

Code c++ :


void GenericState::unbind()
{
   binded = false;
   Si une animation est active on la joue
   Sinon on joue l'animation IDLE
}


Sauf si le fait de lancer une nouvelle animation désactive la précédente hmm et dans ce cas mon idée est fausse. Si c'est çà, je pourrais peut-être avoir un booleen d'activation représentatif par animation ?

Si mon idée n'est pas fausse, ce que je ne sais pas faire, c'est la partie algorythmique énoncé ci dessus, car je ne sais pas si je dois utiliser des pointeurs, enfin c'est un peut le brouillon et j'ai pas envie de faire du bricolage sans comprendre vraiment comment il faudrait que je m'y prenne.

Merci pour ton aide et pour ton soutient smile

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
152 invités en ligne
membre en ligne: -
RSS Feed