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

DirectX Discussion :

Problème de classe


Sujet :

DirectX

  1. #1
    Membre actif Avatar de DeusXL
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 300
    Points : 272
    Points
    272
    Par défaut Problème de classe
    Voilà je déprime : j'ais une classe CSprite qui contient un objet
    Pourquoi le jeu plante il quand on envoit a partir d'une fonction de la classe CSprite ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    D3DXCreateSprite( pd3dDevice, &m_Sprite)
    Il y a bien un moyen de crééer un objet Dx dans une classe non ?

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Quel type d'erreur / plantage ? Que renvoie l'appel à D3DXCreateSprite ? Que vaut pd3dDevice à ce moment ? ...

  3. #3
    Membre actif Avatar de DeusXL
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 300
    Points : 272
    Points
    272
    Par défaut
    Citation Envoyé par Loulou24
    Quel type d'erreur / plantage ? Que renvoie l'appel à D3DXCreateSprite ? Que vaut pd3dDevice à ce moment ?
    Une erreur de type plantage de l'app ( Ne pas envoyer le message Envoyer le message...)
    D3DXCreateSprite renvoit un E_FAIL tout bête et normalement ( g du mal a savoir car il mouvre un debuggueur DASM ) pd3dDevice vaut une bonne valeur ( je vérifie là )
    Si tu veux je t'envois le code pour que tu puisse mieux identifier

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Si tu veux je t'envois le code pour que tu puisse mieux identifier
    Je veux bien y jeter un coup d'oeil, oui.

  5. #5
    Membre actif Avatar de DeusXL
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 300
    Points : 272
    Points
    272
    Par défaut
    C'est envoyé sur tes deux adresses ( hotmail et caramail ... )
    PS : Pour des raisons de tailles j'ais retiré le fichier GameBoard.bmp et Tiger.x + sa texture Tiger.bmp ... Les erreurs ne viennent pas de là :p

  6. #6
    Membre actif Avatar de DeusXL
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 300
    Points : 272
    Points
    272
    Par défaut
    Au passage, je crois que tu as répondu à une question sur les skinned meshes ms je ne la trouve pas .
    Pourrais tu m'indiquer où ?

  7. #7
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Au passage, je crois que tu as répondu à une question sur les skinned meshes ms je ne la trouve pas .
    Pourrais tu m'indiquer où ?
    Alors là... Ca parlait de quoi exactement ?

  8. #8
    Membre actif Avatar de DeusXL
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 300
    Points : 272
    Points
    272
    Par défaut
    Lol je suis parti en vacance et j'ais réfléchis ( un progrès ).
    Le problème avec mon truc c'est que je situe mal les RestoreDeviceObject , InitDeviceObject...
    Je reformule ma question:
    Le SDK AppWizard génère une classe CD3DMesh, quelles sont les étapes et dans quelles fonction d'initialisation et de destruction faut il les mettre.
    PS: Pour les sprites j'ais résolu le problème mais c'est pour la classe CD3DMesh que je me coince.

    PS2:
    Citation Envoyé par Loulou24
    Alors là... Ca parlait de quoi exactement ?
    Ca te surprend ?
    Je sais beaucoup de choses.
    Non sérieux je croyais l'avoir lu sur un autre forum mais j'ais du rêver, c'est juste pour gérer des animations faites avec 3DS ou autre dans mes jeux.

  9. #9
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Là je peux pas t'aider, je n'utilise ni l'AppWizard Dx ni les classes fournies par le SDK.

  10. #10
    Membre actif Avatar de DeusXL
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 300
    Points : 272
    Points
    272
    Par défaut
    ... et pour le skinned mesh ???

  11. #11
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Oui ? Quel est le problème ?

  12. #12
    Membre actif Avatar de DeusXL
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 300
    Points : 272
    Points
    272
    Par défaut
    Mouahahahahaha
    Il est marrant le problème : j'y comprend rien et pourtant j'ais l'impression que c'est pas si compliqué.

    PS: Je relance la question pour tout le monde 8)
    Quels sont les étapes qu'il faut effectuer avec la classe CD3DMesh du DxAppWizard

  13. #13
    Membre actif Avatar de DeusXL
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 300
    Points : 272
    Points
    272
    Par défaut
    Devant une masse de réponse à la question sur le AppWizard , j'ais décidé de trouver la réponse.
    Je vais la poster (on sais jamais ça pourra peut-être aider quelqu'un vu le peu de tutoriel sur le AppWizard)
    La voilà:

    Un Mesh se cré dans le fichier .h principal
    Un Mesh se met à NULL dans le constructeur principal
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CNomDeLapplication::CNomDeLapplication()
    {
          m_pMesh = NULL;
          //Suite des Créations
    }
    Un Mesh se cré au moyen de la fonction Create dans InitDeviceObjects
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CNomDeLapplication::InitDeviceObject()
    {
          m_pMesh->Create(m_pd3dDevice, "NomDuFichier.x);;
          //Suite des Créations
    }
    Un Mesh se RestoreDeviceObjects (ouaou le néologisme) dans RestoreDeviceObjects
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CNomDeLapplication::RestoreDeviceObjects()
    {
          m_pMesh->RestoreDeviceObjects(m_pd3dDevice);
          //Suite des Créations
    }
    On effectue le rendu du Mesh avec Render dans Render() entre Begin et End
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    CNomDeLapplication::Render()
    {
          // Begin the scene
        if( SUCCEEDED( m_pd3dDevice->BeginScene() ) )
        {
            m_pMesh->Render(m_pd3dDevice);
            //Suite des rendus.
     
            m_pd3dDevice->EndScene();
        }
     
    }
    Un Mesh s' InvalidateDeviceObjects 8) dans InvalidateDeviceObjects
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CNomDeLapplication::InvalidateDeviceObjects()
    {
          m_pMesh->InvalidateDeviceObjects();
          //Suite des invalidations
    }
    Un Mesh se Destroy dans DeleteDeviceObjects
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CNomDeLapplication::DeleteDeviceObjects()
    {
          m_pMesh->Destroy();
          //Suite des Destructions
    }
    Et enfin un mesh se SAFE_DELETE dans FinalCleanup
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CNomDeLapplication::FinalCleanup()
    {
          SAFE_DELETE(m_pMesh);
          //Suite des Destructions
    }
    C'était pas si compliqué.
    PS: Pourquoi personne n'utilise le AppWizard ?? Ca aide pourtant beaucoup

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    Merci pour le résumé, je vais garder ça de côté...

    Pour le wizard ben... étant donné que j'avais des tutos sans wiz, j'avais du mal à essayer de programmer avec...

    Mais bon, c'est sûrement plus relaxant quand on a compris comment l'utiliser...

  15. #15
    Membre actif Avatar de DeusXL
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 300
    Points : 272
    Points
    272
    Par défaut
    Horreur, Deus... Qu'as tu fais. Tu as oublié le principal, l'initialisation du pointeur de classe

    Je répare tout de suite cette erreur impardonnable

    Donc on initialise ce pointeur dans OneTimeSceneInit()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CNomDeLapplication::OneTimeSceneInit()
    {
           m_pMesh = new CD3DMesh();
           //Suite des initialisation
    }
    Et encore 100 coups pour expier

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    j'utilise cette classe pour charger mes .x, mais les coordonnées de textures ne sont pas prises en compte...

    Savez vous pk ?

    Merci

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

Discussions similaires

  1. [hibernate]Problème mapping classe association
    Par jsl1 dans le forum Hibernate
    Réponses: 6
    Dernier message: 16/06/2006, 17h27
  2. Problème de classe.
    Par maminova77 dans le forum Langage
    Réponses: 5
    Dernier message: 30/01/2006, 21h39
  3. Problème sur classe Transformer avec les <!--
    Par tykool dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 10/01/2006, 10h20
  4. Problème de classe
    Par tidou dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 14/10/2005, 17h49
  5. [FLASH MX2004] Problème de classe
    Par JulPoWeR dans le forum Flash
    Réponses: 1
    Dernier message: 10/07/2005, 22h51

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