Allegro Pytanie o timery:
Ostatnio zmodyfikowano 2008-12-01 15:39
peters23 Temat założony przez niniejszego użytkownika |
Allegro Pytanie o timery: » 2008-12-01 15:30:02 Witam, mam pytanie czy tworzac np. 10 obiektów które poruszają się z różną prędkością musze do każdego instalować timer tak jak jest to pokazane w kursie, czy nie można zrobić tego inaczej?Czy ma jakiś sens instalowanie timera wewnątrz metody klasy, zrobiłem to w ten sposób: void obiekt::rysuj( BITMAP * bufor, int r ) { speed = 0; inc_speed(); LOCK_VARIABLE( speed ); LOCK_FUNCTION( inc_speed ); install_int( inc_speed, BPS_TO_TIMER( 1500 ) ); while( speed > 0 ) { if( key[ KEY_LEFT ] ) obiekt_x--; if( key[ KEY_RIGHT ] ) obiekt_x++; if( key[ KEY_UP ] ) obiekt_y--; if( key[ KEY_DOWN ] ) obiekt_y++; } circlefill( bufor, obiekt_x, obiekt_y, r, makecol( 255, 255, 255 ) ); remove_int( inc_speed ); } void obiekt::inc_speed() { speed++; } END_OF_FUNCTION( inc_speed );
ale wyskakuje błąd: 29 D:\PIOTREK\Visual C ++\allegro2\obiekt.cpp argument of type `void (obiekt::)()' does not match `void (*)()' . |
|
lynx |
» 2008-12-01 15:39:10 Timer robisz jeden dla całego programu. A tworzy się go po to by program uruchomiony na jednym komputerze(starym) nie działał 4 razy wolniej niż na wydajniejszym, świeżo kupionym PC. Szybkość poruszania się obiektów regulujesz zwiększaniem/zmniejszaniem x,y przy przyciśnięciu klawisza np. strzałki w górę. A tutaj masz link do tematu związanego z poruszaniem się obiektów i ich prędkością na mapie. :) |
|
« 1 » |