[OpenGL] Proste wykrywanie kolizji
Ostatnio zmodyfikowano 2014-02-17 13:41
korkoran Temat założony przez niniejszego użytkownika |
[OpenGL] Proste wykrywanie kolizji » 2014-02-08 18:02:56 Witam, Pisze pierwszą prostą grę w OpenGL. Są to warcaby. Mam problem z sprawdzaniem czy na polu, w które gracz chce przenieść pionek nie ma innego pionka. Napisałem prostą funkcję odpowiadającą za to lecz nie zawsze wykrywa ona kolizje. Działa ona dla większości pionków lecz kilku wciąż nie wykrywa i nie jestem w stanie znaleźć rozwiązania tego problemu. Będę bardzo wdzięczny za wszelką pomoc w tym temacie. Funkcja odpowiedzialna za kolizje: bool czykolizja( int pozycja, float zmianax, float zmianaz, glm::vec3 * pionki ) { for( int i = 0; i < 12; i++ ) { if( glm::all( glm::equal( pionki[ i ], glm::vec3( pionki[ pozycja ].x + zmianax, 0.0f, pionki[ pozycja ].z + zmianaz ) ) ) ) { cout << "Kolizja z pionkiem numer " << i << endl; return false; } } return true; }
|
|
DejaVu |
» 2014-02-17 13:41:30 Czemu chcesz wykorzystywać jakiekolwiek narzędzia do wykrywania kolizji, skoro wystarczy sprawdzić zawartość tablicy, która opisuje stan rozgrywki?
if( tablica[ y ][ x ] != 0 ) { } |
|
« 1 » |