IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XNA/Monogame Discussion :

Petits souci de collision en 2D


Sujet :

XNA/Monogame

  1. #1
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut Petits souci de collision en 2D
    Bonjour tout le monde.

    Je suis confronté à un souci de compréhension d'un tuto, et personne sur leur forum ne semble être présent.

    Alors je me permets de vous soumettre le problème en espérant ne pas trop déranger.

    Donc le tuto ce trouve sur ce site : http://xna-france.com/?p=71.
    Ce là en particulier traite des colisions mais ne dispose pas des source corrigée et reste assez superficiel sur le détail en renvoyant aux autres tutos, que j'ai suivi du reste.

    Donc là j'en sui à ça :
    Une classe pour le jeux qui s'appelle froger.cs, une classe pour le héro qui s'appelle hero.cs et une classe pour les ennemis qui s'appelle enemy.cs.

    Dans le froger.cs j'ai mis une fonction comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    public void collisionEnnemy() 
            { 
                rFrog = frogy.RectCol; 
                re1 = e1.RectCol;
                re2 = e2.RectCol;
                re3 = e3.RectCol;
                re4 = e4.RectCol;
     
                if (rFrog.Intersects(re1))         
                    frogy.Dead = true;
                if (rFrog.Intersects(re2))
                    frogy.Dead = true;
                if (rFrog.Intersects(re3))
                    frogy.Dead = true;
                if (rFrog.Intersects(re4))
                    frogy.Dead = true; 
            }
    e1 et re1 sont des varaibles déclarées ailleurs dans la classe de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Ennemy e1;
            Rectangle rFrog, re1;
    Et elle sont remplis de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    void InitEnnemy()
            {
                e1 = new Ennemy(this, this.graphics, this.Content, this.graphics.PreferredBackBufferWidth, this.graphics.PreferredBackBufferHeight - 150, 1, "g");
    ceci étant appelé dans le Initialize de la classe froger.cs.

    Ensuite dans l upadte de hero.cs je fais cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    game.collisionEnnemy();
                if (dead == true)
                {
                    DrawDead(gameTime);
                }
    En haut de la classe hero.cs j'ai fais cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    public bool Dead { get { return dead; } set { dead = value; } }
            private bool dead;
    pour pouvoir gérer la chose.

    Lorsque je lance le jeu, il ne détecte aucune colision avec la balle e1 et je vois pas ce que j'ai loupé.

    J'espère avoir été suffisament clair dans ma présentation.

    Merci pour votre aide.
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  2. #2
    Membre expert

    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2006
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 1 031
    Points : 3 092
    Points
    3 092
    Par défaut
    Il manque des informations pour pouvoir t'aider.

    Au vu du problème essais de découper et simplifier le plus possible.
    Comme tu débutes avec le langage n'hésites pas à tout coder dans un même fichier puis à segmenter une fois que cela fonctionne : tu verras ainsi plus facilement si c'est la logique du code qui pêche ou ton organisation objet.

    Si vraiment tu n'arrives pas n'hésites pas à poster la solution complète.
    Suivez le développement de Chibis Bomba
    twitter : https://twitter.com/MoD_DiB
    DevBlog : http://moddib.blogspot.fr/

  3. #3
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Merci pour ton aide.

    Quelles informations te faudrait il pour comprendre mieux ?
    Vu que je suis un tuto pas simple pour moi de modifier ce genre de chose.
    J'ai justement mis le lien du tuto pour pouvoir suivre mieux, mais je vais poster le zip de la solution complète.
    Fichiers attachés Fichiers attachés
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  4. #4
    Membre expert

    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2006
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 1 031
    Points : 3 092
    Points
    3 092
    Par défaut
    Le code que tu as envoyé n'est pas la dernière version : il n'y a pas de "collisionEnnemy()"

    Sinon Visual C# Express est actuellement à la version 2010 et XNA à la version 4.
    C'est mieux de bosser avec des outils à jour

    Vite fait de ce que j'ai pu voir :

    il y a des enums pour faire ça

    Pas de nomenclature cohérente pour les variables membres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            ContentManager m_content;
            SpriteBatch spritePerso;
            float Timer = 0f;
    Suivez le développement de Chibis Bomba
    twitter : https://twitter.com/MoD_DiB
    DevBlog : http://moddib.blogspot.fr/

  5. #5
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Désolé pour l'erreur de l'archive, voici une bonne cette fois.

    Pour les outils à jour, oui, c'est mieux, sauf que : je dispose d'une version complète de Visual Studio 2008, tout à fait officiel, version pro, en provenance direct de chez Microsoft (merci à ma belle soeur !!!) et donc XNA 3.0 et pas 4.0 avec ça, si j'ai bien compris.

    Ensuite, le tuto que je suis fonctionne sur XNA 3.0 et pas 4.0, donc si je veux suivre le tuto, vaut mieux que je sois en adéquation avec lui plutôt que je jouer mon fangio qui va tout refaire et en fait, ne rien comprendre parce que la première compil va bugger juste parce que je n'ai pas la même version que le tuto. j'ai fini par apprendre à obéir en fait !!!!

    Enfin, les nomenclatures et les choix de type de variable, les listes, les enums et tout ça, ce n'est pas de mon fait, c'est le tuto, donc je suis, je n'ai pas la compétence pour modifer cela encore, on verra quand je ferais mon propre jeu.

    Merci pour ton aide.

    Je te souhaite une trés bonne soirée.
    Fichiers attachés Fichiers attachés
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  6. #6
    Membre expert

    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2006
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 1 031
    Points : 3 092
    Points
    3 092
    Par défaut
    Citation Envoyé par zooffy Voir le message
    Pour les outils à jour, oui, c'est mieux, sauf que : je dispose d'une version complète de Visual Studio 2008, tout à fait officiel, version pro, en provenance direct de chez Microsoft (merci à ma belle soeur !!!) et donc XNA 3.0 et pas 4.0 avec ça, si j'ai bien compris.
    Moi il me disait que le projet était issu d'un visual studio express 2005

    Enfin, les nomenclatures et les choix de type de variable, les listes, les enums et tout ça, ce n'est pas de mon fait, c'est le tuto, donc je suis, je n'ai pas la compétence pour modifer cela encore, on verra quand je ferais mon propre jeu.
    Justement, de ce que j'ai pu observer tu essayes d'avancer bien trop vite.

    Essayes dans un premier temps ( et sans tuto ) d'afficher un joueur.
    De gérer ses déplacements en fonction des entrées clavier.
    De mettre sa logique dans une classe à part.
    De créer un seul obstacle, l'afficher , lui attribuer un rectangle de collision et mettre sa logique dans une classe à part.
    Enfin essayes de vérifier l'intersection entre le joueur et cet obstacle.
    Si tu as un soucis ou un doute sur n'importe laquelle de ces étapes n'hésites pas à demander.

    Une fois que tu auras fait ceci de toi même en comprenant tout, tu pourras gérer plusieurs obstacles ( c'est de là que venait ton bug )
    Suivez le développement de Chibis Bomba
    twitter : https://twitter.com/MoD_DiB
    DevBlog : http://moddib.blogspot.fr/

  7. #7
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Merci pour ton aide.

    J'ai fais en gros toutes les étapes que tu me décrit, en suivant le tuto et en faisant des exercices à part, tout seul.

    Pour la collision, j'ai réduit le nombre de boule grise pour y voir plus clair (peut-être pas si clair dans le code que j'ai fourni, j'ai fais plusieurs projets) mais je n'arrive pas à comprendre la méthode intersect ou alors je loupe un truc.

    Tu parles de mon bug au passé, c'est cool mais moi je conjugue encore au présent ce truc là, tu pourrais me montrer où se situe le problème ?
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  8. #8
    Membre expert

    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2006
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 1 031
    Points : 3 092
    Points
    3 092
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Pour la collision, j'ai réduit le nombre de boule grise pour y voir plus clair (peut-être pas si clair dans le code que j'ai fourni
    Je veux bien la version la plus claire possible avec juste l'essentiel.

    mais je n'arrive pas à comprendre la méthode intersect ou alors je loupe un truc.
    Quelle problème exact te pose la méthode intersect ?
    Suivez le développement de Chibis Bomba
    twitter : https://twitter.com/MoD_DiB
    DevBlog : http://moddib.blogspot.fr/

  9. #9
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Alors voilà la version avec les 4 balles grises au lieu de 24 prévue au départ.

    La méthode intersect doit normalement me permettre de comparer deux rectangle. Elle se trouve dans la Procédure collisionEnnemy de la classe froger.cs

    Mais lorsque je lance le jeu, la grenouille ne bloque pas lorsqu'elle passe sur une balle grise.

    Et je ne comprends pas pourquoi. Voilà, c'est tout simple.

    Merci pour ton aide.
    Fichiers attachés Fichiers attachés
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  10. #10
    Membre expert

    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2006
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 1 031
    Points : 3 092
    Points
    3 092
    Par défaut
    Ce code est pareil que l'ancien avec juste quelques lignes commentées :
    il y a trop d'informations parasites.
    Je pourrais t'indiquer les (nombreuses) étapes pour le transformer en code qui fonctionne mais ça n'aurait pas grand intérêt.
    J'aimerai comprendre la notion que tu n'as pas saisie et qui te bloques : ton problème ne vient certainement pas de ce problème de collision en particulier.

    Créer un nouveau projet en n'affichant que 2 éléments dont un joueur qui peut se déplacer avec chacun un rectangle et fais un test de collision.
    A partir de là je pourrais te guider plus facilement.

    Bon courage !
    Suivez le développement de Chibis Bomba
    twitter : https://twitter.com/MoD_DiB
    DevBlog : http://moddib.blogspot.fr/

  11. #11
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    J'ai peu regardé le code (par curiosité, surement).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Ennemy e1, e2, e3, e4, e6, e7, e8, e9, e11, e12, e13, e14, e16, e17, e18, e19, e21, e22, e23, e24;
            Wood w1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, w12;
            Rectangle rFrog, re1, re2, re3, re4, re5, re6, re7, re8, re9, re10, re11, re12, re13, re14, re15, re16, re17, re18, re19, re20, re21, re22, re23, re24;
    Horrible
    Faites une liste, ou je ne sais pas quoi. Mais plus jamais ça !

    Sinon, vos classes sont trop énormes. à la base, elle ne devrait contenir qu'une position et peut être la Texture. Enfin je crois. Mais là, je vois Wood, il contient un GraphicsDeviceManager, le ContentManager ... O_o pourquoi donc ... autant les passés en paramètres aux fonctions qui en ont besoin.

    Gardez votre code le plus simple possible et tout ira mieux.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  12. #12
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Moddib, je vais tenter de faire ce que tu dis, mais j'ai du mal à élaguer le programme du tuto.
    Bon, je taille, je coupe et je te poste ça vite fait.

    Bon appétit, si c'est l'heure pour toi.
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  13. #13
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Moddib je t'ai fabriqué une solution qui ne prend en compte que la grenouille et une balle, le tout sur fond bleu.
    Et ça colisionne pas du tout et je vois pas pourquoi.

    Merci pour ton aide.
    Fichiers attachés Fichiers attachés
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  14. #14
    Membre expert

    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2006
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 1 031
    Points : 3 092
    Points
    3 092
    Par défaut
    Citation Envoyé par zooffy Voir le message
    Moddib je t'ai fabriqué une solution qui ne prend en compte que la grenouille et une balle, le tout sur fond bleu.
    Et ça colisionne pas du tout et je vois pas pourquoi.

    Merci pour ton aide.
    Il y a toujours trop de copier/coller à mon goût.
    Enfin bon dans tous les cas tu as résolu ton problème tout seul :
    lorsque je mets un breakpoint sur la ligne froggy.Dead = true; de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (rFrog.Intersects(rMonstre))
                    froggy.Dead = true;
    Le breakpoint s'active bien lorsque je déplace le personnage sur l'ennemi.
    Suivez le développement de Chibis Bomba
    twitter : https://twitter.com/MoD_DiB
    DevBlog : http://moddib.blogspot.fr/

  15. #15
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Ah, bizarre.
    Mais alors, question subisidiaire : pourquoi l'affichage de la grenouille morte ne se déclenche pas ?

    Par contre, le copier coller, ben j'ai enlevé tout ce que je pouvais, sinon, ça marche pas et puis oublie pas que je débute, je récupère un tuto et je fais ce que je peux avec.

    Merci pour ton aide et passe une bonne soirée.
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  16. #16
    Membre expert

    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2006
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 1 031
    Points : 3 092
    Points
    3 092
    Par défaut
    Ah, bizarre.
    Mais alors, question subisidiaire : pourquoi l'affichage de la grenouille morte ne se déclenche pas ?
    Tu fais l'affichage dans la méthode update ça ne peut donc pas fonctionner.

    Par contre, le copier coller, ben j'ai enlevé tout ce que je pouvais, sinon, ça marche pas et puis oublie pas que je débute, je récupère un tuto et je fais ce que je peux avec.
    Les débutants je connais, j'ai formé plus d'une centaine d'étudiants à XNA.
    Tu as un manque de confiance en ce que tu es capable d'accomplir et ça te rassure de récupérer le code pour le tripatouiller et essayer de le faire fonctionner.
    Mais pour réellement progresser il faut se mettre dans un projet vierge et ne regarder rien d'autre que la msdn, une fois les bases acquises ( chacun à sa propre notion des "bases" c'est sur..) tu pourras t'inspirer de tutoriels et les modifier à ta sauce mais pour le moment si tu ne respectes pas les étapes tu vas surtout prendre de mauvaises habitudes.
    Je vois énormément de code que tu ne comprends pas dans ce projet et ce n'est jamais bon de ne pas être maître de son code !

    Bon courage !
    Suivez le développement de Chibis Bomba
    twitter : https://twitter.com/MoD_DiB
    DevBlog : http://moddib.blogspot.fr/

  17. #17
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2002
    Messages : 255
    Points : 445
    Points
    445
    Par défaut
    Salut zooffy,

    L'appel de base.draw est nécessaire. Donc ceci fonctionne (dans la classe Hero):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
            public override void Draw(GameTime gameTime)
            {
                if (dead)
                  DrawDead(gameTime);
                else
                  DrawPerso(gameTime, txtPerso);
     
                base.Draw(gameTime);
            }
    Pour chipoter on peut aussi éviter de bouger le perso mort (vive le réalisme):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (dead) return;//Dans l' Update de la classe Hero.
    Pour les collisions 2D un moteur comme Farseer est pratique, il est facile à comprendre et c'est du boulot en moins (vive la productivité !).

    Salutations.

  18. #18
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Désolé pour l'absence.

    Bon, j'ai exploité le bout de code et ça marche bien, j'ai tout compris, surtout
    Par contre, j'ai pas compris pourquoi j'ai les deux dessin (la grenouille vivante et la gremnouile morte qui reste à l'écran. J'ai pas trouvé l'endroit où je devais "l'effacer" (la vivante).

    Ensuite Farseer j'ai jeté un oeil mais c'est tout en anglais, du coup, j'ai du mal.
    Et oui, je suis un des rares informaticiens français à continuer de parler ma langue natale et pas une autre !!!!
    Mais bon, je me ferais une violence un de ces quatres, quand j'en serais là et puis il a l'air de marcher aussi pour la 3D (qui est mon but final, en fait).

    Merci pour tout.
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  19. #19
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2002
    Messages : 255
    Points : 445
    Points
    445
    Par défaut
    Salut zooffy;

    Si tu écris la fonction Draw de la classe Hero comme indiqué dans mon post il n'y a aucune raison que la grenouille ne se dessine morte et vivante,c'est l'un ou l'autre, sinon t'as laissé un appel à DrawPerso quelque-part (vois la pile d'appels sur DrawPerso ).
    Pour farseer c'est trés simple même si on pige pas l'anglais, ici par exemple on arrive à comprendre sans trop de mal:
    http://farseerphysics.codeplex.com/documentation

    J'ai testé la traduction (j'utilise toujours chrome qui me parait plus souple pour les traductions auto) et on arrive à piger le truc même s'il reste des grosses coquilles. Le défaut principal c'est la traduction auto des sections de code, si quelqu'un à une astuce pour que google ne traduise pas les encadrés, je suis preneur.

    Salutations.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Petit soucis pour se connecter à l'adsl
    Par Blowih dans le forum Réseau
    Réponses: 4
    Dernier message: 28/07/2004, 00h16
  2. petit soucy de fenetre cmd
    Par FeetloveR666 dans le forum Windows
    Réponses: 5
    Dernier message: 03/07/2004, 14h24
  3. petit soucis lors d'un LOAD DATA INFILE
    Par Jovial dans le forum SQL Procédural
    Réponses: 9
    Dernier message: 04/06/2004, 11h58
  4. Réponses: 6
    Dernier message: 21/01/2004, 13h25
  5. [DEBUTANT] petits soucis avec un prgm de chat
    Par LechucK dans le forum MFC
    Réponses: 8
    Dernier message: 19/01/2004, 16h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo