Bonjour, bonsoir,
J'ai commencé depuis quelques temps la création d'un moteur physique 2D, j'ai donc crée mes différentes classes et autres.
Le moteur physique est composé de formes basiques ( Bloc, triangle, cercle ).
Chaque forme hérite de la classe "Listener" qui elle contient les informations nécessaires à tester les collision et autres ( Force, Velocité, position, ...).
La classe "Listener" contient aussi un pointeur appellé m_vertices, celui-ci sert à allouer dynamiquement par la suite les sommets des polygons.
Exemple : Je crée un objet de type "Cercle", je choisis le nombre de points que le cercle possedera puis celui-ci se crée.
Malheuresement cette partie la pose problème, Si je crée un premier cercle, celui-ci fonctionne correctement. Des que je souhaite en crée un autre, le programme plante, ou celui-ci se lance mais le second cercle à un point en moins.
Voici un screen montrant le problème :
Le second cercle ressemble plus à pacman et le programme plante à sa fermeture.
Je ne voit pas du tout d'ou ça vient, a chaque nouvel objet crée ( apres un premier ), les suivant on un sommet en moins ( Le premier du tableau j'ai l'impression ( m_vertices) ).
Voici le code source du moteur ( Inclus un programme de test ) :
Télécharger depuis un client SVN : svn checkout http://hx-engine.googlecode.com/svn/trunk/ hx-engine-read-only
Télécharger archive .rar : Voir le Fichier : hxengine_l6yxj7gfr7.rar
L'allocation se fait dans les classes du dossier "Formes".
J'ai inclus un programme d'exemple avec. ( Dans le dossier "Exemple" )
Merci à vous.
Hybrix.
Partager