Crunchez vos adresses URL
|
Rejoignez notre discord
|
Hébergez vos photos
Page 271 sur 334 PremièrePremière ... 171221261263264265266267268269270271272273274275276277278279281321 ... DernièreDernière
Affichage des résultats 8 101 à 8 130 sur 10008
  1. #8101
    Si tu créer un second objet, la variable est recrée lors du constructeur. A moins que t'utilise une classes statique ou un Singleton.

    Tu pourrai mettre un sample qqpart ?

  2. #8102
    Citation Envoyé par gbip Voir le message
    Malheureusement, vu que c'est un projet de groupe, c'est C++ seulement !

    Alors, je vais essayer d'expliquer un peu le contexte.
    Il s'agit de me faire la main sur une libraire. Il s'agit de Box2D, c'est un moteur physique 2D. On utilise aussi SFML pour afficher, même si ça sera pas le moteur de rendu final.
    J'ai crée une classe "Static_body", qui définira tous les objets qui n'ont pas vocation à bouger.
    Dans le constructeur, il faut à un moment, définir une variable de type "b2def" qui est un type interne à Box2D qui contiens la position de l'objet.
    Ensuite, on crée un "b2body" qui prends en argument la variable "b2def" et un vecteur et en fais un objet qui possède une taille. (je résume)
    Le probléme, c'est que dans mon code, la variable est nommée explicitement, et que du coup, quand je crée 1 seul objet, ça marche, mais quand j'en crée un deuxième, je cherche à créer une variable qui existe déjà. Enfin, ça c'est que j'en déduis, car avec 1 objet, mon code se lance, avec 2, ça plante.
    Merci d'avance pour les explications
    Si ton code est bien de l'objet, tu peux créer 100 instance d'un même objet, même si le mnémonique de la variable est le même, ça reste 100 variables différentes en mémoire sauf si elle est déclaré statique... du coup je pense que ton problème est ailleurs.
    La programmation est une course entre le développeur, qui s’efforce de produire des applications à l’épreuve des imbéciles, et l’univers qui s’efforce de produire de meilleurs imbéciles... L’univers a une bonne longueur d’avance !!!

  3. #8103
    Citation Envoyé par Mr Slurp Voir le message
    Si ton code est bien de l'objet, tu peux créer 100 instance d'un même objet, même si le mnémonique de la variable est le même, ça reste 100 variables différentes en mémoire sauf si elle est déclaré statique... du coup je pense que ton problème est ailleurs.
    Bah je pensais la même chose, mais au vu du crash, je pensais que ça ne pouvais être que ça.
    Du coup je vais chercher dans mon code des erreurs !
    Merci

  4. #8104
    Si t'as une version minimale de ton code qui reproduit ton crash, on pourra sans doute t'aider. Ca doit être un truc tout con.
    T'as rien en static ? Pas d'utilisation de pointeurs ?

  5. #8105
    Si, bien sur, voilà le code du .h et du .cpp de ma classe, avec mon main.cpp :

    Static_Body.h :
    Code:
    #include <string>
    #include <Box2D/Dynamics/b2World.h>
    #include <SFML/Window.hpp>
    #include <SFML/Graphics.hpp>
    #include <SFML/System/Vector2.hpp>
     
    class Static_Body {
     
    public:
     
        Static_Body(){};
        Static_Body(float posX, float posY, float TailleX, float TailleY, b2World wld);
     
    private :
        sf::Vector2f m_size;
        sf::Vector2f m_pos;
     
    };
    Static_Body.cpp :
    Code:
    #include <Box2D/Dynamics/b2Body.h>
    #include <Box2D/Collision/Shapes/b2PolygonShape.h>
    #include <SFML/Graphics/RectangleShape.hpp>
    #include "Static_Body.h"
    #include <iostream>
     
    Static_Body::Static_Body(float posX, float posY, float TailleX, float TailleY, b2World wld) {
     
     
        m_pos.x = posX;
        m_pos.y = posY;
        m_size.x = TailleX;
        m_size.y = TailleY;
     
     
        std::cout << "Fin initialisation des variables\n" ;
     
        b2BodyDef objDef;
     
        objDef.position.Set(m_pos.x, m_pos.y);
        b2Body* objBody = wld.CreateBody(&objDef);
        b2PolygonShape groundBox;
        groundBox.SetAsBox(TailleX, TailleY);
        objBody->CreateFixture(&groundBox, 0.0f);
     
        std::cout <<"Fin création objet \n";
    }
    Et le main.cpp :
    Code:
    #include <iostream>
    #include <Box2D/Box2D.h>
    #include <SFML/Window.hpp>
    #include <SFML/Graphics.hpp>
    #include <iostream>
    #include "Static_Body.h"
     
     
    int main()
    {
     
     
        b2World world = b2World(b2Vec2(0, 0));
     
        Static_Body mur_gauche(5, 10, 5.0, 200.0, world);
        Static_Body mur_droite(150, 140, 300.0, 5.0, world);
     
    }
    Merci d'avance

  6. #8106
    Je suppose que b2World est une entité, l'instance ne devrait donc pas être passée par copie au constructeur de Static_Body, mais par référence ou par pointeur (plutot par référence).

  7. #8107
    Oui, sinon tu modifies juste la copie. De même, objDef est une variable locale qui va mourir dès que l'exécution du constructeur terminera. Vu que tu prends son adresse, c'est peut-être pas ce que tu veux. Et que devient objBody quand on sort du constructeur ?

  8. #8108
    Citation Envoyé par Møgluglu Voir le message
    Oui, sinon tu modifies juste la copie. De même, objDef est une variable locale qui va mourir dès que l'exécution du constructeur terminera. Vu que tu prends son adresse, c'est peut-être pas ce que tu veux. Et que devient objBody quand on sort du constructeur ?
    Je pense la même chose que Møgluglu, objDef et groundBox meurent à la sortie du constructeur, et objBody reste perdu en mémoire sans référence. Essaie de déclarer un membre pour stocker ces variables genre :

    Code:
    #include <string>
    #include <Box2D/Dynamics/b2World.h>
    #include <SFML/Window.hpp>
    #include <SFML/Graphics.hpp>
    #include <SFML/System/Vector2.hpp>
     
    class Static_Body {
     
    public:
     
        Static_Body(){};
        Static_Body(float posX, float posY, float TailleX, float TailleY, b2World wld);
     
    private :
        sf::Vector2f m_size;
        sf::Vector2f m_pos;
        b2BodyDef m_objDef;
        b2Body* m_pObjBody;
        b2PolygonShape m_groundBox;
     
    };
    Code:
    #include <Box2D/Dynamics/b2Body.h>
    #include <Box2D/Collision/Shapes/b2PolygonShape.h>
    #include <SFML/Graphics/RectangleShape.hpp>
    #include "Static_Body.h"
    #include <iostream>
     
    Static_Body::Static_Body(float posX, float posY, float TailleX, float TailleY, b2World wld) {
     
     
        m_pos.x = posX;
        m_pos.y = posY;
        m_size.x = TailleX;
        m_size.y = TailleY;
     
     
        std::cout << "Fin initialisation des variables\n" ;
     
     
        m_objDef.position.Set(m_pos.x, m_pos.y);
        m_pObjBody = wld.CreateBody(&m_objDef);
        m_groundBox.SetAsBox(TailleX, TailleY);
        m_pObjBody->CreateFixture(&m_groundBox, 0.0f);
     
        std::cout <<"Fin création objet \n";
    }
    La programmation est une course entre le développeur, qui s’efforce de produire des applications à l’épreuve des imbéciles, et l’univers qui s’efforce de produire de meilleurs imbéciles... L’univers a une bonne longueur d’avance !!!

  9. #8109
    Citation Envoyé par alecool Voir le message
    Je suppose que b2World est une entité, l'instance ne devrait donc pas être passée par copie au constructeur de Static_Body, mais par référence ou par pointeur (plutot par référence).
    Citation Envoyé par Mr Slurp Voir le message
    Je pense la même chose que Møgluglu, objDef et groundBox meurent à la sortie du constructeur, et objBody reste perdu en mémoire sans référence. Essaie de déclarer un membre pour stocker ces variables genre :

    Code:
    #include <string>
    #include <Box2D/Dynamics/b2World.h>
    #include <SFML/Window.hpp>
    #include <SFML/Graphics.hpp>
    #include <SFML/System/Vector2.hpp>
     
    class Static_Body {
     
    public:
     
        Static_Body(){};
        Static_Body(float posX, float posY, float TailleX, float TailleY, b2World wld);
     
    private :
        sf::Vector2f m_size;
        sf::Vector2f m_pos;
        b2BodyDef m_objDef;
        b2Body* m_pObjBody;
        b2PolygonShape m_groundBox;
     
    };
    Code:
    #include <Box2D/Dynamics/b2Body.h>
    #include <Box2D/Collision/Shapes/b2PolygonShape.h>
    #include <SFML/Graphics/RectangleShape.hpp>
    #include "Static_Body.h"
    #include <iostream>
     
    Static_Body::Static_Body(float posX, float posY, float TailleX, float TailleY, b2World wld) {
     
     
        m_pos.x = posX;
        m_pos.y = posY;
        m_size.x = TailleX;
        m_size.y = TailleY;
     
     
        std::cout << "Fin initialisation des variables\n" ;
     
     
        m_objDef.position.Set(m_pos.x, m_pos.y);
        m_pObjBody = wld.CreateBody(&m_objDef);
        m_groundBox.SetAsBox(TailleX, TailleY);
        m_pObjBody->CreateFixture(&m_groundBox, 0.0f);
     
        std::cout <<"Fin création objet \n";
    }

    J'ai appliqué vos conseils, ça m'a permis de débugger le bouzin, et maintenant ça marche
    Merci les gars, vous êtes en or

  10. #8110

  11. #8111

  12. #8112

  13. #8113


    J'hésite entre honte, horreur ou émerveillement...

    - - - Mise à jour - - -

    Par contre ça c'est trop la classe. Faut ajouter un compteur de combo tant que tu ne touches pas à suppr, insert ou backspace.
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  14. #8114
    Citation Envoyé par rOut Voir le message


    J'hésite entre honte, horreur ou émerveillement...

    - - - Mise à jour - - -



    Par contre ça c'est trop la classe. Faut ajouter un compteur de combo tant que tu ne touches pas à suppr, insert ou backspace.
    et tant que tu cliques pas quelques part avec la souris. Putain, je vote pour ! je vais developper un plugin pour Intellij tiens !
    Ce qu'il faut savoir, c'est qu'on ment beaucoup aux minmatars, surtout lorsqu'ils posent des questions du style: "t'es sûr que ça vole, ce truc ?" Cooking Momo, le 30/08/09

  15. #8115
    Citation Envoyé par Teocali Voir le message
    je vais coder ça en LISP pour l'ajouter à mon .emacs.el tiens !
    Corrigé.

  16. #8116
    Citation Envoyé par Møgluglu Voir le message
    Corrigé.
    Ca c'est pour les true. Si j'en étais un, ça se saurait...
    Ce qu'il faut savoir, c'est qu'on ment beaucoup aux minmatars, surtout lorsqu'ils posent des questions du style: "t'es sûr que ça vole, ce truc ?" Cooking Momo, le 30/08/09

  17. #8117
    Citation Envoyé par rOut Voir le message


    J'hésite entre honte, horreur ou émerveillement...

    - - - Mise à jour - - -



    Par contre ça c'est trop la classe. Faut ajouter un compteur de combo tant que tu ne touches pas à suppr, insert ou backspace.
    C'est un fake cette vidéo, il y a plus de filles en 1 minute que dans tout l'étage où je bosse...
    Citation Envoyé par Snakeshit Voir le message
    Mais comme on me l'a appris dans la Marine, plus les choses sont automatisées, moins ça consomme de cases plus vous en avez de libre pour choses utiles, comme penser à des filles dénudées .

  18. #8118
    Putain je vais faire ça pour atom en rajoutant l'idée de rOut, ça va motiver mes élèves.

  19. #8119
    Ça me rappelle un coding4fun où les mecs avaient fait un système de succès pour Visual Studio

  20. #8120
    Question Visual Studio !

    Y'a pas un raccourci qui permettrait de savoir où on est dans le code ?
    En gros, on se positionne sur une ligne, et ça nous donnerait la classe>méthode>condition, etc. ?

  21. #8121
    Quel langage ? En C++/C#, il t'indique déjà dans quelle classe/méthode tu es. Pour le reste je ne sais pas si ça existe.

  22. #8122

  23. #8123
    Citation Envoyé par Monsieur Odd Voir le message
    Putain je vais faire ça pour atom en rajoutant l'idée de rOut, ça va motiver mes élèves.
    Tu peux partir de https://atom.io/packages/activate-power-mode
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  24. #8124
    Citation Envoyé par Foudge Voir le message
    Quel langage ? En C++/C#, il t'indique déjà dans quelle classe/méthode tu es. Pour le reste je ne sais pas si ça existe.
    C#, mais je ne vois pas où c'est indiqué

  25. #8125
    Citation Envoyé par deathdigger Voir le message
    C#, mais je ne vois pas où c'est indiqué
    Tout en haut. Etrange ce que tu dis, c'est affiché par défaut il me semble. Ou alors j'ai pas bien compris ta demande.

    Ca indique la position mais ça permet aussi de se positionner (ce sont des listes déroulantes).

  26. #8126
    Citation Envoyé par Foudge Voir le message
    Tout en haut. Etrange ce que tu dis, c'est affiché par défaut il me semble. Ou alors j'ai pas bien compris ta demande.
    http://snag.gy/Fl1IX.jpg
    Ca indique la position mais ça permet aussi de se positionner (ce sont des listes déroulantes).
    Putain de merde
    J'utilisais cette barre à l'époque du VB, mais je ne me rappelais plus qu'elle existait, merci beaucoup

  27. #8127
    En parlant de Visual Studio, y-a-t-il des courageux qui se servent déjà de 2015 au bureau?

  28. #8128
    Citation Envoyé par Vilmir Voir le message
    En parlant de Visual Studio, y-a-t-il des courageux qui se servent déjà de 2015 au bureau?
    Nope mais j'espère qu'ils ont viré la boîte de CTRL+F de 2012 qui ne marche juste pas quand tu tapes trop vite.
    Sleeping all day, sitting up all night
    Poncing fags that's all right
    We're on the dole and we're proud of it
    We're ready for 5 More Years

  29. #8129
    Citation Envoyé par deathdigger Voir le message
    Putain de merde
    J'utilisais cette barre à l'époque du VB, mais je ne me rappelais plus qu'elle existait, merci beaucoup
    RDJ, cette barre est toujours là. J'étais en train de chercher un truc en commun entre le screenshot de Foudge et le Visual Studio que je connaissais.

  30. #8130
    Citation Envoyé par Vilmir Voir le message
    En parlant de Visual Studio, y-a-t-il des courageux qui se servent déjà de 2015 au bureau?
    Oui, et il est vraiment pas mal. Le truc bien, c'est l'affichage des erreurs ou des gros blocs de commentaire via des points de couleurs dans l’ascenseur de droite. C'est tout con, mais c'est vachement bien pour bouger rapidement dans le code

    Citation Envoyé par Tramb Voir le message
    Nope mais j'espère qu'ils ont viré la boîte de CTRL+F de 2012 qui ne marche juste pas quand tu tapes trop vite.
    Pas de souci rencontré sur 2012 là-dessus, et pourtant, je m'y connecte parfois sur un TSE avec une connexion super lente.

Page 271 sur 334 PremièrePremière ... 171221261263264265266267268269270271272273274275276277278279281321 ... DernièreDernière

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •