matig16 Temat założony przez niniejszego użytkownika |
Podązanie za elementem Allegro c++ » 2010-08-22 10:01:46 Znowu mam problem, tym razem z AI chodzi mi oto żebym ja mógł poruszać się i żeby wróg za mną podążał nie mam pomysłu jak to zrobić. |
|
waxx |
» 2010-08-22 10:50:37 class Vector2 { public float x; public float y; public Normalize() { float len = Math.Sqrt( x * x + y * y ); x = x / len; y = y / len; } };
Vector2 enemyDir; enemyDir.x = enemy.x - player.x; enemyDir.y = enemy.y - player.y; enemyDir.Normalize();
enemyPos.x += enemyDir.x * speed; enemyPos.y += enemyDir.y * speed; |
|
matig16 Temat założony przez niniejszego użytkownika |
» 2010-08-22 11:18:07 Napisałem sobie dość prosty algorytm właśnie dochodzenia do tej mojej postaci ale nie wiem co dalej, żeby moją postać chodziła i także wróg w tym samym momencie. A za bardzo jeszcze sobie z klasami nie radzę :P. chodzenie: if( min == a ) { if( kwadrat_x > circle_x ) { while( kwadrat_x > circle_x ) { kwadrat_x--; masked_blit( kwadrat, bufor, 0, 0, kwadrat_x, kwadrat_y, kwadrat->w, kwadrat->h ); blit( bufor, screen, 0, 0, 0, 0, 800, 600 ); clear_to_color( bufor, makecol( 255, 255, 255 ) ); rest( 10 ); } } else if( kwadrat_x < circle_x ) { while( kwadrat_x < circle_x ) { kwadrat_x++; masked_blit( kwadrat, bufor, 0, 0, kwadrat_x, kwadrat_y, kwadrat->w, kwadrat->h ); blit( bufor, screen, 0, 0, 0, 0, 800, 600 ); clear_to_color( bufor, makecol( 255, 255, 255 ) ); rest( 10 ); } } if( kwadrat_y < circle_y ) { while( kwadrat_y < circle_y ) { kwadrat_y++; masked_blit( kwadrat, bufor, 0, 0, kwadrat_x, kwadrat_y, kwadrat->w, kwadrat->h ); blit( bufor, screen, 0, 0, 0, 0, 800, 600 ); clear_to_color( bufor, makecol( 255, 255, 255 ) ); rest( 10 ); } } else if( kwadrat_y > circle_y ) { while( kwadrat_y < circle_y ) { kwadrat_y++; masked_blit( kwadrat, bufor, 0, 0, kwadrat_x, kwadrat_y, kwadrat->w, kwadrat->h ); blit( bufor, screen, 0, 0, 0, 0, 800, 600 ); clear_to_color( bufor, makecol( 255, 255, 255 ) ); rest( 10 ); } } }
|
|
waxx |
» 2010-08-22 11:44:46 To bierz sie za klasy bo sposob podany przeze mnie jest najdokladniejszy i najszybszy :P Dobrej gry bez programowania obiektowego nie napiszesz, ktore wydaje sie trudne a tak na prawde ulatwia pisanie masakrycznie. |
|
matig16 Temat założony przez niniejszego użytkownika |
» 2010-08-22 11:52:03 No to będę musiał się poduczyć klas :D |
|
matig16 Temat założony przez niniejszego użytkownika |
» 2010-08-22 13:02:15 Napisałem sobie tą klasę ale nie wiem o co za bardzo w niej chodzi ;].Zauważyłem że odejmuje współrzędne x wroga i mojej postaci potem to pierwiastkuje dzieli wynik pierwiastkowania przez wynik odejmowania tego wcześniejszego ale nie wiem wogóle po co ona to robi chciałem jakoś to zrozumieć ale nie potrafię. |
|
waxx |
» 2010-08-22 13:26:12 |
|
matig16 Temat założony przez niniejszego użytkownika |
» 2010-08-26 11:28:55 Dobra niby już wróg ładnie do mnie dochodzi, ale kiedy idę np w lewo swoim playerem to wróg leci z dużą szybkością w przeciwną stronę i nagle jakby znowu obliczył dobrą trasę i znowu podąża za mną.I teraz pytanie do was co robię źle ? |
|
« 1 » |