Historique des modifications - Message

Message #11658

Sujet: Système d'animation d'irrlicht


Type Date Auteur Contenu
Dernière modification 14-06-2015 15:44:06 jonath313
J'ai tenté des choses d'où les commentaires :

Code c++ :


#ifndef CPLAYERANIMATION_H
#define CPLAYERANIMATION_H

#include "irr/irrArray.h"
#include <stdlib.h>
#include <stdio.h>
#include <cstdio>
#include <string>
#include <iostream>
#include <direct.h>
#include <windows.h>
#include <time.h>
#include <cstdlib>
#include <vector>
#include <irr/irrlicht.h>

class AnimationBinder
{
    public:
        virtual void bind() = 0;
        virtual void unbind() = 0;
        virtual int priority() = 0;
       /* virtual int start() = 0;
        virtual int end() = 0;*/

        bool operator < (AnimationBinder *other)
        {
            return priority() < other->priority();
        }

        bool activated;
        bool binded;
       // int start;
       // int end;
};


template<int Apriority, int start, int end, bool loop = false>
class RunningState : public AnimationBinder
{
    public:
        virtual void bind()
        {
           binded = true;
         /*  NePlayer->setAnimationSpeed(ANIMATION_SPEED);
           NePlayer->setLoopMode(true);
           NePlayer->setFrameLoop(0,80);*/
           /*NePlayer->setAnimationSpeed(ANIMATION_SPEED);
           NePlayer->setLoopMode(loop);
           NePlayer->setFrameLoop(start,end);*/
        }
        virtual void unbind()
        {
           binded = false;
          /* NePlayer->setAnimationSpeed(ANIMATION_SPEED);
           NePlayer->setLoopMode(false);
           NePlayer->setFrameLoop(0,0);*/
        }
        virtual int priority()
        {
            return Apriority;
        }

     /*   virtual int start()
        {
            return Apriority;
        }*/
};


class AnimationManager
{
    public:
        AnimationManager(int start, int end, bool loop = false)
        {
           this->start = start;  // ERREUR 1
           this->end = end;


            anim.push_back(new RunningState<1, 0, 80, true>());
            ///...
            anim.sort();
        }
        void activate(int animNumber, bool value)
        {
            auto current = anim[animNumber];
            current->activated = value;

            if(current->binded && !value)
                current->unbind();

            current = anim[0];
            for(std::vector<int>::const_iterator it = anim.start(); it!=anim.end(); ++it) { int current = *it; } // ERREUR 2
            

            if(current->activated && !current->binded)
                current->bind();
        }
    private:
        irr::core::array<AnimationBinder*> anim;
        //int start;
       // int end;
};
#endif // CPLAYERANIMATION_H




C:\\Users\\Jonathan\\Jeu\\CPlayerAnimation.h|81|error: 'class AnimationManager' has no member named 'start'|
C:\\Users\\Jonathan\\Jeu\\CPlayerAnimation.h|82|error: 'class AnimationManager' has no member named 'end'|


C:\\Users\\Jonathan\\Jeu\\CPlayerAnimation.h|98|error: 'class irr::core::array<AnimationBinder*>' has no member named 'start'|
C:\\Users\\Jonathan\\Jeu\\CPlayerAnimation.h|98|error: 'class irr::core::array<AnimationBinder*>' has no member named 'end'|
Création du message 14-06-2015 15:24:34 jonath313
J'ai tenté des choses d'où les commentaires :

Code c++ :


#ifndef CPLAYERANIMATION_H
#define CPLAYERANIMATION_H

#include "irr/irrArray.h"
#include <stdlib.h>
#include <stdio.h>
#include <cstdio>
#include <string>
#include <iostream>
#include <direct.h>
#include <windows.h>
#include <time.h>
#include <cstdlib>
#include <vector>
#include <irr/irrlicht.h>

class AnimationBinder
{
    public:
        virtual void bind() = 0;
        virtual void unbind() = 0;
        virtual int priority() = 0;
       /* virtual int start() = 0;
        virtual int end() = 0;*/

        bool operator < (AnimationBinder *other)
        {
            return priority() < other->priority();
        }

        bool activated;
        bool binded;
       // int start;
       // int end;
};


template<int Apriority, int start, int end, bool loop = false>
class RunningState : public AnimationBinder
{
    public:
        virtual void bind()
        {
           binded = true;
         /*  NePlayer->setAnimationSpeed(ANIMATION_SPEED);
           NePlayer->setLoopMode(true);
           NePlayer->setFrameLoop(0,80);*/
           /*NePlayer->setAnimationSpeed(ANIMATION_SPEED);
           NePlayer->setLoopMode(loop);
           NePlayer->setFrameLoop(start,end);*/
        }
        virtual void unbind()
        {
           binded = false;
          /* NePlayer->setAnimationSpeed(ANIMATION_SPEED);
           NePlayer->setLoopMode(false);
           NePlayer->setFrameLoop(0,0);*/
        }
        virtual int priority()
        {
            return Apriority;
        }

     /*   virtual int start()
        {
            return Apriority;
        }*/
};


class AnimationManager
{
    public:
        AnimationManager(int start, int end, bool loop = false)
        {
           this->start = start;  // ERREUR 1
           this->end = end;


            anim.push_back(new RunningState<1, 0, 80, true>());
            ///...
            anim.sort();
        }
        void activate(int animNumber, bool value)
        {
            auto current = anim[animNumber];
            current->activated = value;

            if(current->binded && !value)
                current->unbind();

            current = anim[0];
            for(std::vector<int>::const_iterator it = anim.start(); it!=anim.end(); ++it) { int current = *it; } // ERREUR 2
            

            if(current->activated && !current->binded)
                current->bind();
        }
    private:
        irr::core::array<AnimationBinder*> anim;
        //int start;
       // int end;
};
#endif // CPLAYERANIMATION_H




C:\\Users\\Jonathan\\Jeu\\CPlayerAnimation.h|81|error: 'class AnimationManager' has no member named 'start'|
C:\\Users\\Jonathan\\Jeu\\CPlayerAnimation.h|82|error: 'class AnimationManager' has no member named 'end'|


C:\\Users\\Jonathan\\Jeu\\CPlayerAnimation.h|98|error: 'class irr::core::array<AnimationBinder*>' has no member named 'start'|
C:\\Users\\Jonathan\\Jeu\\CPlayerAnimation.h|98|error: 'class irr::core::array<AnimationBinder*>' has no member named 'end'|

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