Bonjour, j'ai un problème avec le code suivant et je n'arrive pas à comprendre pourquoi j'ai une telle erreur :
GetCollisionTable() est une référence à un vector<vector<bool>> :
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 // Test dans les deux collision tables bool mytest1 = false; bool mytest2 = false; for( int i = 0; i < (rect_Bottom - rect_Top); i++ ) { for( int j = 0; j < (rect_Right - rect_Left); j++ ) { mytest1 = FirstSprite->GetCollisionTable()[rect_Top - TOP1 + i][rect_Left - LEFT1 + j]; mytest2 = SecondSprite->GetCollisionTable()[rect_Top - TOP2 + i][rect_Left - LEFT2 + j]; if( ( mytest1 & mytest2 ) == true ) return COL_DETECTED; } }
typedef std::vector<bool> TBoolArray;
typedef std::vector<TBoolArray> TBoolMatrix;
Le test sur la CollisionTable du FirstSprite marche bien, mais la ligne d'en dessous, la collision table du SecondSprite, fait planter le programme en me renvoyant une erreur, lorsque le résultat est true uniquement. J'ai vérifié, il n'y a pas de débordement.
L'erreur concerne donc vector.
Je crois que ce n'est pas la bonne méthode pour vérifier ces matrix, si ?
Partager