Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Allegro Pytanie o timery:

Ostatnio zmodyfikowano 2008-12-01 15:39
Autor Wiadomość
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:

C/C++
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 (*)()' .
P-2675
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. :)
P-2676
« 1 »
  Strona 1 z 1