cs_ProGamer
Messages postés44Date d'inscriptionjeudi 11 juillet 2002StatutMembreDernière intervention 1 février 2022
-
11 juil. 2002 à 12:45
cs_ProGamer
Messages postés44Date d'inscriptionjeudi 11 juillet 2002StatutMembreDernière intervention 1 février 2022
-
17 juil. 2002 à 00:00
J'ai commencé une application Direct3D. Elle était constituée d'une classe principale qui contenait l'objet LPDIRECT3D8. Tout marchait bien. Ensuite, j'ai modifier les classes. J'ai créé une classe principale qui contient la classe qui contient l'objet LPDIRECT3D8. Et là, ca ne marche plus. En fait, dès qu'une fonction de Direct3D est appellée, le programme se termine, sans même provoquer une erreur.
J'ai également ce problème avec des objets LPD3DXFONT et LPDIRECT3DTEXTURE8, qui sont comme "inactifs" (ils ne plantent pas le programme). Ils sont chaqun dans des classes indépendantes, mais ces classes appartiennent à la classe qui contient l'object LPDIRECT3D8.
J'ai aussi remarqué que si j'instancie les classes dans le constructeur de la classe qui les contient, il y a une erreur "Violation d'accès" quand je veux créer les differents objets.
cs_VinceR
Messages postés47Date d'inscriptionjeudi 11 juillet 2002StatutMembreDernière intervention27 avril 2005 11 juil. 2002 à 17:17
Regarde mon exemple... les classes sont créées.
Dans ta classe... hwnd est toujours valide ?
Pas de problème de muavais pointeur ou de pointeur vide, trace comme ça le long de ton programme.
cs_ProGamer
Messages postés44Date d'inscriptionjeudi 11 juillet 2002StatutMembreDernière intervention 1 février 2022 11 juil. 2002 à 22:10
Je viends de lire un tutorial sur les classes... En fait, j'instanciais mal mes classes:
Dans la définition de la classe principale:
CClasse* MaClasse;
Et dans le constructeur de la classe principale:
MaClasse = new CClasse();
Maintenant:
Dans la classe principale:
CClasse *MaClasse;
Et dans le constructeur de la classe principale:
MaClasse = new CClasse();
J'aurais du mieux apprendre les pointeurs...
Maintenant ça marche. Sauf que j'ai toujours des problèmes avec LPDIRECT3DTEXTURE8... Je n'ai pas réessayé LPD3DXFONT... Je vais jetter un oeil à tes sources.
cs_ProGamer
Messages postés44Date d'inscriptionjeudi 11 juillet 2002StatutMembreDernière intervention 1 février 2022 12 juil. 2002 à 22:06
Ca y'est, tout marche. Seulement, le FPS est plutôt bas (30 FPS). En fait, je fais un moteur de RPG en 2D. Je pourrais utiliser DirectDraw, mais je préfères Direct3D... C'es bizarre, j'ai fait des essais, ce qui ralentit le programme, c'est la boucle qui sert à afficher les tiles (une boucle for). Y a t'il un moyen plus rapide de dessiner les tiles à l'écran ?
cs_ProGamer
Messages postés44Date d'inscriptionjeudi 11 juillet 2002StatutMembreDernière intervention 1 février 2022 16 juil. 2002 à 23:02
Alors en fait ça marche... En fait, j'étais avec les DLLs de débuggage de DirectX, ca ralentit pas mal. Mais j'ai toujours le problème de "10 FPS" que l'ordi d'un ami...
cs_ProGamer
Messages postés44Date d'inscriptionjeudi 11 juillet 2002StatutMembreDernière intervention 1 février 2022 17 juil. 2002 à 00:00
Heu, les machines ne sont pas les mêmes, déjà, mais qu'importe ? Sa carte non plus, c'est une Trident Blade 3D MPV4... Mais il joue à des jeux 3D récents sans aucun problème !