[C][Allegro]Zamalowywanie spritów z opóźnieniem
Ostatnio zmodyfikowano 2012-12-02 22:14
wisien92 Temat założony przez niniejszego użytkownika |
[C][Allegro]Zamalowywanie spritów z opóźnieniem » 2012-12-02 15:54:18 Witam , mam problem mam całą mechanike poruszania się pocisków oraz ich kolizje jednak pocisk lecąc zostawia za sobą obrazek kolejnego w efekcie powstaje sznurek składający się z obrazków pocisku ... chciałem użyć timera który wykonuje się z pewnym opóźnieniem(np.5) i w miejscu obrazka rysuje element tła .... tylko nie wiem jak to do końca zrobić while( speed1 > 0 ) { for( i = 0; i <= NUM_BULLETS; i++ ) { if( bullets[ i ].active == 1 ) { draw_sprite( background, bullet_sprite, bullets[ i ].x, bullets[ i ].y ); while( speed2 > 0 ) { speed2--; } if( bullets[ i ].face == 0 ) bullets[ i ].x--; if( bullets[ i ].face == 1 ) bullets[ i ].y++; if( bullets[ i ].face == 2 ) bullets[ i ].x++; if( bullets[ i ].face == 3 ) bullets[ i ].y--; if( bullets[ i ].x <= 20 && bullets[ i ].y >= 0 && bullets[ i ].y <= 750 ) { bullets[ i ].active = 0; } if( bullets[ i ].x >= 1000 && bullets[ i ].y >= 0 && bullets[ i ].y <= 750 ) { bullets[ i ].active = 0; } if( bullets[ i ].x >= 0 && bullets[ i ].x <= 1020 && bullets[ i ].y <= 85 ) { bullets[ i ].active = 0; } if( bullets[ i ].x >= 0 && bullets[ i ].x <= 1020 && bullets[ i ].y >= 745 ) { bullets[ i ].active = 0; } } } speed1--; }
jakaś pomoć? |
|
Mrovqa |
» 2012-12-02 15:57:03 Zrób sobie tablice gdzie zapisujesz ostatnie N pozycji pocisku (w standardowym przypadku można to samemu wyliczyć). Potem tylko przy rysowaniu zaczynasz rysować N pozycji wcześniej do aktualnej pozycji. Pamiętaj, by uwzględnić początek i koniec animacji (<N pozycji). |
|
wisien92 Temat założony przez niniejszego użytkownika |
» 2012-12-02 22:14:17 udało się ... może nie jest idealnie ale jest juz jakaś baza, którą można poprawiać :) dzięki |
|
« 1 » |