Bienvenue, Invité. Merci de vous connecter ou de vous inscrire. Avez-vous oublié d'activer ?

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Sujets - Lolilolight

Pages: « Précédente 1 ... 3 4 [5]
61
Discussions générales / Un module physique pour la SFML ?
« le: Février 02, 2013, 11:05:57 am »
Salut,
en fait je voudrais juste savoir si tu comptes implémenter plus tard un module physique pour la SFML ou pas ?

62
Système / [SFML2.0] Les thread et mutex sont il plus rapide ?
« le: Janvier 24, 2013, 10:17:47 am »
Salut,
je voudrais savoir si quelqu'un à déjà pu testé les thread de la SFML 2.0.
Avec la SFML 1.6, j'ai dû utilisé un mutex lors de la suppression de texture dans mon éditeur de map, car j'avais un conflit entre les vectors de la STL avec la méthode erase et la SFML du coup mon programme plantait si je n'utilisais pas les mutex, tout simplement.

Avec les mutex ça ne plantais plus mais il mettait plus de 30 secondes parfois avant de me supprimer la/les texture. :/

Ce soucis est t'il encore présent avec la SFML2 ?

On m'a donc conseillé de passé en SFML2 mais je préfère attendre que tout les tutoriels soient terminés, avant de passé mon éditeur de carte en SFML 2.0, parce que là, je galère un peu même avec la doc. :/




63
J'ai une erreur en compilation à cette ligne ici.

buffer.assign(getData(), getData() + getDataSize());

Il me marque ça :

/usr/Projets/SorrokSrv/NetworkEngine/encryptedPacket.h|9|warning: deprecated covariant return type for ‘virtual const char* EncryptedPacket::onSend(std::size_t&)’ [enabled by default]|
/usr/local/include/SFML/Network/Packet.hpp|234|warning:   overriding ‘virtual const void* sf::Packet::onSend(std::size_t&)’ [enabled by default]|
/usr/Projets/SorrokSrv/NetworkEngine/encryptedPacket.cpp||In member function ‘virtual const char* EncryptedPacket::onSend(size_t&)’:|
/usr/Projets/SorrokSrv/NetworkEngine/encryptedPacket.cpp|8|warning: pointer of type ‘void *’ used in arithmetic [-Wpointer-arith]|
/usr/Projets/SorrokSrv/NetworkEngine/encryptedPacket.cpp||In member function ‘virtual void EncryptedPacket::onReceive(const char*, size_t)’:|
/usr/Projets/SorrokSrv/NetworkEngine/encryptedPacket.cpp|30|warning: comparison between signed and unsigned integer expressions [-Wsign-compare]|
/usr/include/c++/4.6/bits/stl_vector.h:1159|24|instantiated from ‘void std::vector<_Tp, _Alloc>::_M_assign_dispatch(_InputIterator, _InputIterator, std::__false_type) [with _InputIterator = const void*, _Tp = char, _Alloc = std::allocator<char>]’|
/usr/include/c++/4.6/bits/stl_vector.h:433|4|instantiated from ‘void std::vector<_Tp, _Alloc>::assign(_InputIterator, _InputIterator) [with _InputIterator = const void*, _Tp = char, _Alloc = std::allocator<char>]’|
/usr/Projets/SorrokSrv/NetworkEngine/encryptedPacket.cpp:8|55|instantiated from here|
/usr/include/c++/4.6/bits/stl_iterator_base_types.h|193|error: forming reference to void|
/usr/include/c++/4.6/bits/stl_iterator_base_funcs.h||In function ‘typename std::iterator_traits<_Iterator>::difference_type std::__distance(_RandomAccessIterator, _RandomAccessIterator, std::random_access_iterator_tag) [with _RandomAccessIterator = const void*, typename std::iterator_traits<_Iterator>::difference_type = long int]’:|
/usr/include/c++/4.6/bits/stl_iterator_base_funcs.h:117|42|instantiated from ‘typename std::iterator_traits<_Iterator>::difference_type std::distance(_InputIterator, _InputIterator) [with _InputIterator = const void*, typename std::iterator_traits<_Iterator>::difference_type = long int]’|
/usr/include/c++/4.6/bits/vector.tcc:241|55|instantiated from ‘void std::vector<_Tp, _Alloc>::_M_assign_aux(_ForwardIterator, _ForwardIterator, std::forward_iterator_tag) [with _ForwardIterator = const void*, _Tp = char, _Alloc = std::allocator<char>]’|
/usr/include/c++/4.6/bits/stl_vector.h:1160|4|instantiated from ‘void std::vector<_Tp, _Alloc>::_M_assign_dispatch(_InputIterator, _InputIterator, std::__false_type) [with _InputIterator = const void*, _Tp = char, _Alloc = std::allocator<char>]’|
/usr/include/c++/4.6/bits/stl_vector.h:433|4|instantiated from ‘void std::vector<_Tp, _Alloc>::assign(_InputIterator, _InputIterator) [with _InputIterator = const void*, _Tp = char, _Alloc = std::allocator<char>]’|
/usr/Projets/SorrokSrv/NetworkEngine/encryptedPacket.cpp:8|55|instantiated from here|
/usr/include/c++/4.6/bits/stl_iterator_base_funcs.h|96|error: invalid use of ‘const void’|
/usr/include/c++/4.6/bits/stl_uninitialized.h:119|41|instantiated from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = const void*, _ForwardIterator = char*]’|
/usr/include/c++/4.6/bits/stl_uninitialized.h:259|63|instantiated from ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with _InputIterator = const void*, _ForwardIterator = char*, _Tp = char]’|
/usr/include/c++/4.6/bits/vector.tcc:262|6|instantiated from ‘void std::vector<_Tp, _Alloc>::_M_assign_aux(_ForwardIterator, _ForwardIterator, std::forward_iterator_tag) [with _ForwardIterator = const void*, _Tp = char, _Alloc = std::allocator<char>]’|
/usr/include/c++/4.6/bits/stl_vector.h:1160|4|instantiated from ‘void std::vector<_Tp, _Alloc>::_M_assign_dispatch(_InputIterator, _InputIterator, std::__false_type) [with _InputIterator = const void*, _Tp = char, _Alloc = std::allocator<char>]’|
/usr/include/c++/4.6/bits/stl_vector.h:433|4|instantiated from ‘void std::vector<_Tp, _Alloc>::assign(_InputIterator, _InputIterator) [with _InputIterator = const void*, _Tp = char, _Alloc = std::allocator<char>]’|
/usr/Projets/SorrokSrv/NetworkEngine/encryptedPacket.cpp:8|55|instantiated from here|
/usr/include/c++/4.6/bits/stl_uninitialized.h|76|error: ISO C++ forbids incrementing a pointer of type ‘const void*’ [-fpermissive]|
/usr/include/c++/4.6/bits/stl_uninitialized.h:119|41|instantiated from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = const void*, _ForwardIterator = char*]’|
/usr/include/c++/4.6/bits/stl_uninitialized.h:259|63|instantiated from ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with _InputIterator = const void*, _ForwardIterator = char*, _Tp = char]’|
/usr/include/c++/4.6/bits/vector.tcc:262|6|instantiated from ‘void std::vector<_Tp, _Alloc>::_M_assign_aux(_ForwardIterator, _ForwardIterator, std::forward_iterator_tag) [with _ForwardIterator = const void*, _Tp = char, _Alloc = std::allocator<char>]’|
/usr/include/c++/4.6/bits/stl_vector.h:1160|4|instantiated from ‘void std::vector<_Tp, _Alloc>::_M_assign_dispatch(_InputIterator, _InputIterator, std::__false_type) [with _InputIterator = const void*, _Tp = char, _Alloc = std::allocator<char>]’|
/usr/include/c++/4.6/bits/stl_vector.h:433|4|instantiated from ‘void std::vector<_Tp, _Alloc>::assign(_InputIterator, _InputIterator) [with _InputIterator = const void*, _Tp = char, _Alloc = std::allocator<char>]’|
/usr/Projets/SorrokSrv/NetworkEngine/encryptedPacket.cpp:8|55|instantiated from here|
/usr/include/c++/4.6/bits/stl_uninitialized.h|77|error: ‘const void*’ is not a pointer-to-object type|
/usr/include/c++/4.6/bits/stl_algobase.h:384|70|instantiated from ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false, _II = const void*, _OI = char*]’|
/usr/include/c++/4.6/bits/stl_algobase.h:422|39|instantiated from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false, _II = const void*, _OI = char*]’|
/usr/include/c++/4.6/bits/stl_algobase.h:454|18|instantiated from ‘_OI std::copy(_II, _II, _OI) [with _II = const void*, _OI = char*]’|
/usr/include/c++/4.6/bits/vector.tcc:256|4|instantiated from ‘void std::vector<_Tp, _Alloc>::_M_assign_aux(_ForwardIterator, _ForwardIterator, std::forward_iterator_tag) [with _ForwardIterator = const void*, _Tp = char, _Alloc = std::allocator<char>]’|
/usr/include/c++/4.6/bits/stl_vector.h:1160|4|instantiated from ‘void std::vector<_Tp, _Alloc>::_M_assign_dispatch(_InputIterator, _InputIterator, std::__false_type) [with _InputIterator = const void*, _Tp = char, _Alloc = std::allocator<char>]’|
/usr/include/c++/4.6/bits/stl_vector.h:433|4|instantiated from ‘void std::vector<_Tp, _Alloc>::assign(_InputIterator, _InputIterator) [with _InputIterator = const void*, _Tp = char, _Alloc = std::allocator<char>]’|
/usr/Projets/SorrokSrv/NetworkEngine/encryptedPacket.cpp:8|55|instantiated from here|
/usr/include/c++/4.6/bits/stl_algobase.h|327|error: invalid use of ‘const void’|
/usr/include/c++/4.6/bits/stl_algobase.h|329|error: ‘const void*’ is not a pointer-to-object type|
/usr/include/c++/4.6/bits/stl_algobase.h|330|error: ISO C++ forbids incrementing a pointer of type ‘const void*’ [-fpermissive]|
||=== Build finished: 7 errors, 4 warnings ===|

Hors que avec la SFML 1.6 ça marchait nickel.

64
Discussions générales / SFML shape et SFML VertexArray.
« le: Janvier 23, 2013, 02:27:40 pm »
Salut, pourquoi faire d'une part un VertexArray qui utilise la librairie openGL je présume.
Et d'autre part des ConvexShape qui utilise une autre librairie.
Je ne comprends pas très bien.  :-\

Le seul avantage que j'y vois de plus comparé à la SFML 1.6 c'est que l'on peut, avec les vertex array, utiliser les primitives TrianglesFan et TrianglesStrip sans devoir passé par openGL.

Les sf::Shape d'avant étaient mieux selon mon avis, il n'y aurait juste eu qu'à rajouter quelques petites choses à la classe pour qu'elle puisse gérer des triangles strip et des triangles fan.

Mais bon ce n'est que mon avis libre au développeur de faire ce qu'il veut, mais bon ça m'aurait évité de devoir changer mon code.  :-\

Et puis pour les autres formes (c'est à dire celle qui ne sont pas propre à openGL.), on peut utilisé une autre librairie plus complète du genre QT. :)

65
Graphique / flipX et flipY
« le: Janvier 23, 2013, 12:09:53 pm »
Salut,
comment puis je faire pour faire un flipX ou un flipY de mon sprite car je ne trouve plus ces méthodes dans la classe sprite.

66
Graphique / Une question
« le: Janvier 23, 2013, 11:36:39 am »
Salut,
dans la SFML 1.6, la méthode GetPosition()  renvoie la position d'origine du sprite + la position du centre du sprite.
Dans la sfml 2.0 je vois juste une méthode getOrigin(), donc cela renvoie la position d'origine du sprite et plus la position relative au centre du sprite.

C'est bien ça ?

Car j'ai eu quelques difficulté avec la SFML 1.6 à cause de cela. :/ (Avec la méthode GetPosition() je ne savais pas trop bien ce qu'elle renvoyait au départ, je pensais qu'elle renvoyait la position d'origine du sprite mais après je me suis rendu compte que non car mes calculs n'étaient pas bons et mes sprites ou bien mes formes ne s'affichaient pas toujours au bonne endroit.

67
Heu tu t'es un peu cassé la tête la en refaisant à chaque fois une classe pour les vecteurs de float, de int, d'unsigned int, etc...
Il y a moyen de faire plus simple si tu sais utilisé les "template." ;)
Ca se voit que tu t'inspires beaucoup de opengl qui a été codé en C mais si tu fais ta librairie compatible en c++ uniquement, autant utiliser toutes les nouveautés de l'évolution du langage C. ;)

68
Général / SFML 2, linux et code::block
« le: Janvier 20, 2013, 01:35:13 pm »
Salut, j'essaye de faire fonctionner la SFML 2 sous linux mais, même en ayant spécifié ou se trouvent les dossiers include et lib dans les options de mon projet code::block, il me souligne la ligne suivante :
#include <SFML/System.hpp>

Et il me dit qu'il ne trouve pas le fichier.

69
Graphique / Les ConvexShape
« le: Janvier 19, 2013, 11:44:07 am »
Bonjour,
je me suis décidé à passer à la SFML 2 et il y a pas mal de choses qui ont changées.
D'abord au sujet de la classe Shape, avant ou pouvait ajouter une couleur à chaque sommet, ce qui donnait au rendu, un effet de dégradé, ce qui était bien, mais avec la classe ConvexShape on ne peut plus le faire comme ça, comment dois je procéder si je ne veux pas perdre mon dégradé ?


70
Graphique / [SFML 1.6] La SFML et les évènements
« le: Novembre 20, 2012, 10:06:17 am »
Bonjour,

Je voudrais juste savoir si les évènements sont géré avec un thread dans la SFML, car, lorsque j'appelle une fonction qui déplace mon personnage de A à Z lors d'un clic de souris je ne voudrais pas que le jeux freeze jusqu'à que le personnage ai fini son déplacement...

Voila donc dois je faire un thread moi même pour gérer cela ou pas ?

Merci.

71
Bonjour,

J'essaye d'appeler une fonction sur un thread tout en lui passant un objet de ma classe cependant ceci ne marche pas il m'indique une erreur, voici mon code :

Là ou j'initialise le thread :

MyCanvas::MyCanvas(MyFrame* Parent, const QPoint& Position, const QSize& Size) : QSFMLCanvas(Parent, Position, Size), th(&move, this)  {...}

Et ma fonction :

void move(void* UserData) { ...}

Dans le .h je n'ai fait que de déclarer ma fonction move en dehors de la classe car je ne sais pas si la classe Thread de ta bibliothèque gère aussi les pointeurs sur les fonctions membres..., mais comme ou doit passé un objets en paramètre pour pouvoir avoir accès aux donné de l'objet dans la fonction appelée par le thread je pense que non..., malheureusement quand j'essaye de le faire j'obtiens cette erreur à la compilation :

D:\Projets\c++\Sorrok\GraphicEngine\myCanvas.cpp|13|error: no matching function for call to 'sf::Thread::Thread(<unresolved overloaded function type>, void*)'|

et je ne comprend pas pourquoi il m'affiche ça...

Merci d'avance pour l'aide.






72
Réseau / [SMFL1.6]Transférer des paquets et des paquets extensibles.
« le: Juillet 30, 2012, 05:30:43 pm »
Salut,
je m'explique : j'ai une classe qui dérive de sf::Packet (EncryptedPacket) qui me permet de crypter les données que j'envoie, et j'utilise la classe sf::Packet pour transférer des données non cryptées. (Donc en gros j'utilise les 2 a la fois.)
Malheureusement lorsque j'envoie des données de type EncryptedPacket depuis le client, le serveur les interprète comme si c'étaient des données de type sf::Packet et donc ne rentre pas dans la méthode Receive de ma classe dérivée...

Bref je vais mettre du code, je pense que vous comprendrez mieux ce que j'essaye de faire :
Le serveur ne fait rien d'autre que d'intercepter les messages envoyé par le client, et il envoie la clé publique à la demande du client pour que le client puisse ensuite crypter les messages qu'il envoie.
void SrkServer::run () {
    while (true) {
        unsigned int nbSockets = selector.Wait();

        for (unsigned int i = 0; i < nbSockets; ++i)
        {
            SocketTCP socket = selector.GetSocketReady(i);

            if (socket == listner) {

                IPAddress clientAddress;
                SocketTCP client;
                socket.Accept(client, &clientAddress);
                cout<<"Client connected : "<<clientAddress<<endl;
                selector.Add(client);
            } else {
                Packet packet;
                if (socket.Receive(packet) == Socket::Done) {
                    cout<<typeid(packet).name()<<endl;
                    string message;
                    packet>>message;
                    if (message == "GetPbKey") {
                        packet.Clear();
                        string message = Rsa::getPbKeyString();
                        packet<<message;
                        socket.Send(packet);
                    } else {
                        string message;
                        packet>>message;
                        cout<<"Client said : "<<message<<endl;
                    }
                } else {
                    //channels[0]->removeClient(socket);
                    selector.Remove(socket);
                }
            }
        }
    }
}
 
J'ai fait un typeId sur le sf::Packet pour voir et les packets sont toujours de type sf::Packet et non de type EncryptedPacket

Y a t'il un moyen de pouvoir recevoir ou d'envoyer des paquets de différentes sortes  avec la SFML ? 

73
Réseau / [SFML1.6] Pas de réception de packets!
« le: Juillet 29, 2012, 12:44:30 pm »
Bonjour!
Pour mon moteur réseau j'utilise une classe dérivée de sf::Packet qui cryptera les messages que je veux envoyer avec l'algorithme rsa.
J'ai donc coder le serveur comme ceci :
#include "srkserveur.h"
#include <iostream>
using namespace sf;
using namespace std;
SrkServer::SrkServer(Rsa &rsa) : rsa(rsa)
{
    if (!listner.Listen(4567)) {
        cerr<<"Impossible d'écouter sur ce port"<<endl;
    } else {
        cout<<"serveur started"<<endl;
        selector.Add(listner);
        run();
    }

}

void SrkServer::run () {
    while (true) {
        unsigned int nbSockets = selector.Wait();
        for (unsigned int i = 0; i < nbSockets; ++i)
        {
            SocketTCP socket = selector.GetSocketReady(i);
            EncryptedPacket packet(rsa);
            if (socket == listner) {
                IPAddress clientAddress;
                SocketTCP client;
                socket.Accept(client, &clientAddress);
                cout<<"Client connected : "<<clientAddress<<endl;              
                selector.Add(socket);
            } else {

                if (socket.Receive(packet) == Socket::Done) {

                    string message;
                    packet>>message;
                    cout<<"A client said : "<<message<<endl;
                } else {                    
                    selector.Remove(socket);
                }
            }
        }
    }
}
 
Et pour la gestion des packets j'ai fait comme dans le tutoriel :
#include "encryptedPacket.h"
using namespace std;
using namespace sf;
EncryptedPacket::EncryptedPacket (Rsa &rsa) : rsa(rsa) {

}
const char* EncryptedPacket::OnSend (size_t& dataSize) {

    buffer.assign(GetData(), GetData() + GetDataSize());
    /*encBuffer.clear();
    vector<char>::iterator it;
    for (it = buffer.begin(); it != buffer.end(); it++) {
        BigInt nb = rsa.encryptWithPrKey(*it);
        for (int i = nb.size() - 1; i >= 0; i--) {
            encBuffer.push_back(nb[i]);
        }
    }
    dataSize = encBuffer.size();
    return &encBuffer[0];*/

    dataSize = buffer.size();
    return &buffer[0];
}
void EncryptedPacket::OnReceive (const char* data, size_t dataSize) {
    buffer.assign(data, data + dataSize);
    /*encBuffer.assign (data, data + dataSize);
    buffer.clear();
    vector<char>::iterator it;
    for (it = encBuffer.begin(); it != encBuffer.end(); it++) {
         BigInt nb;
         for (int i = 0; i < Rsa::BLOC_SIZE; i++) {
             Chiffre c (encBuffer[i]);
             nb.push_back(c);
         }
         char car = rsa.decryptWithPrKey(nb);
         buffer.push_back(car);
    }*/

    Append(&buffer[0], buffer.size());
}
 
(J'ai commenté le code de cryptage histoire de voir si cela marche sans, mais cela ne marche toujours pas.  :-[)
Et voila le client :
#include "client.h"
using namespace sf;
using namespace std;
SrkClient::SrkClient (Rsa &rsa) : rsa(rsa) {
    if(client.Connect(4567, sf::IPAddress::LocalHost) != Socket::Done) {
        cout<<"Erreur : impossible de se connecter au serveur"<<endl;
    } else {
        run ();
    }
}
void SrkClient::run () {
     EncryptedPacket packet(rsa);
     packet<<"Hello!";
     client.Send(packet);    
}
 

Il rentre bien dans la méthode OnSend côté client, mais côté serveur il ne rentre pas dans la méthode OnRecieve...

74
Système / [RESOLU]Plantage au niveau des threads.
« le: Juillet 02, 2012, 03:04:47 pm »
Salut!

Alors je m'explique j'essaye d'afficher des animations et de les supprimer dans mon éditeur, j'ai d'abord essayer de le faire sans utiliser un thread et la ça marche :

    vector<Anim*> anims = map->gridMap->getAnims();
    for (int i = 0; i < anims.size(); i++) {
        if (anims[i]->isRunning() && anims[i]->getElapsedTime() > anims[i]->getFrameRate()) {
            Tile *prev = anims[i]->getCurrentTile();
            anims[i]->nextImage();
            Tile *newTile = anims[i]->getCurrentTile();
            Vec2f centerView (centerView.x, centerView.y);
            map->gridMap->changeAnimTile(centerView, prev, newTile);
            anims[i]->resetClock();
        }
    }
 

Mes animations comme toutes mes tiles sont ajouté dans une grille virtuelle pour des question d'optimisation, bref voici la méthode qui les efface :

void GridMap::removeAnim (Anim *anim) {

    Vec2f tCorners[4];
    Vec2f position (anim->getPosition().x, anim->getPosition().y);
    Vec2f center (anim->getCenter().x, anim->getCenter().y);
    tCorners[0] = Vec2f (position.x - center.x, position.y - center.y);
    tCorners[1] = Vec2f (position.x + center.x, position.y - center.y);
    tCorners[2] = Vec2f (position.x - center.x, position.y + center.y);
    tCorners[3] = Vec2f (position.x + center.x, position.y + center.y);
    int s = sizeof(tCorners) / sizeof (Vec2f);
    for (int i = 0; i < s; i++) {

        CellMap *cellMap = getGridCellAt(tCorners[i]);
        if (cellMap != NULL) {
           cellMap->removeEntity(anim, anim->getZOrder());
           if (!cellMap->isEntityInside())
                removeCellMap(cellMap);
        }
    }
}
 

Après j'ai essayer de changer les tiles des animations avec un thread, donc j'ai créer une classe qui hérite de thread et j'ai mis le code dans la méthode run :

void AnimListener::Run () {
    while (running) {
        globalMutex.Lock();
        vector<Anim*> anims = canvas->getMap().gridMap->getAnims ();
        for (int i = 0; i < anims.size(); i++) {

            if (anims[i]->isRunning() && anims[i]->getElapsedTime() > anims[i]->getFrameRate()) {
                Tile *prev = anims[i]->getCurrentTile();
                anims[i]->nextImage();
                Tile *newTile = anims[i]->getCurrentTile();
                Vec2f centerView (canvas->getCenterView().x, canvas->getCenterView().y);
                canvas->getMap().gridMap->changeAnimTile(centerView, prev, newTile);
                anims[i]->resetClock();
            }
        }
        globalMutex.Unlock();
    }
}
 
Malheureusement l'application plante et se termine en renvoyant comme erreur un std::bad_alloc dès que je veux effacer une animation.

Il m'indique que ça plante à cet endroit :

vector<Anim*> GridMap::getAnims () {
    vector<Anim*> allAnims;
    for (int i = 0; i < casesMap.size(); i++) {
        CellMap *cell = casesMap[i];
        for (int l = 0; l < 20; l++) {

            for (int n = 0; n < [s][color=red]cell->getEntitiesInside()[l].size()[/color][/s]; n++) {
                 if (cell->getEntityInside(n, l)->getType() == Entity::E_ANIMATION) {
                    bool contains = false;
                    for (int k = 0; k < allAnims.size(); k++) {
                        if (allAnims[k] == cell->getEntityInside(n, l))
                            contains = true;
                    }
                    if (!contains) {

                        allAnims.push_back(dynamic_cast<Anim*>(cell->getEntityInside(n, l)));
                    }
                 }

            }
        }

    }
    return allAnims;
}
 

Il me renvoie a la méthode size de la classe vector :
 size() const
      { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); }
 

Et je ne trouves pas l'erreur. =/ (que j'essaye avec ou sans Mutex cela plante. =/)

Merci d'avance pour votre aide.

Pages: « Précédente 1 ... 3 4 [5]
anything