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

Prędkość odwóch obiektów[allegro]

Ostatnio zmodyfikowano 2008-05-04 17:53
Autor Wiadomość
maciek1316
Temat założony przez niniejszego użytkownika
Prędkość odwóch obiektów[allegro]
» 2008-05-03 17:41:10
Jak zrobić aby dwa obiekty poruszały sie z różną prędkością? W kursie jest to jakoś pogmatwane jeśli to w ogóle jest to:p "Timery". Prosił bym o małe wyjaśnienie i może krótki kodzik.
P-606
dudek
» 2008-05-03 18:15:03
Najprostrzy sposob to zrobienie tego za pomoca funkcji rest(); (wstryzmuje program na okreslona liczbe milisekund w nawiasach)

np
C/C++
unsigned int licznik = 0;
for(;; )
{
    if( licznik % 3 = 0 ) przesun_obiekt();
   
    ++licznik;
    rest( 10 );
}
mozesz to wszystko opakowac w jakas funkcje albo metode jak pracujesz na klasach:)
po instrukcji warunkowej mozesz dodac takze if ( licznik >= 6 ) licznik = 0; tak dla bezpieczenstwa przed przekrecenim sie licznika:) Im mniejsza bedzie liczba przez ktora dzielisz licznik i sprawdzasz reszte to platforma bedzie szybciej sie przesuwala. Tak samo mozna rest zmniejszyc/zwiekszyc. To trzeba indywidualnie dostosowac.
P-608
maciek1316
Temat założony przez niniejszego użytkownika
» 2008-05-04 16:43:33
hmm. Zrobiłem coś takiego tylko ze to rest(x); zatrzymuje mi cały program a nie jeden obiekt...Jak zrobić żeby było dobrze??

C/C++
do
{
    if( key[ KEY_UP ] )
    {
        for( int i = 1; i <= 2; i++ )
        {
            x--;
            rest( 1 );
        }
    }
    if( key[ KEY_DOWN ] )
    {
        for( int i = 1; i <= 2; i++ )
        {
            x++;
            rest( 1 );
        }
    }
    if( key[ KEY_LEFT ] )
    {
        for( int i = 1; i <= 2; i++ )
        {
            y--;
            rest( 1 );
        }
    }
    if( key[ KEY_RIGHT ] )
    {
        {
            y++;
            rest( 1 );
        }
    }
   
   
    if( key[ KEY_W ] )
    {
        for( int i = 1; i <= 2; i++ )
        {
            x1--;
            rest( 10 );
        }
    }
    if( key[ KEY_S ] )
    {
        for( int i = 1; i <= 2; i++ )
        {
            x1++;
            rest( 10 );
        }
    }
    if( key[ KEY_A ] )
    {
        for( int i = 1; i <= 2; i++ )
        {
            y1--;
            rest( 10 );
        }
    }
    if( key[ KEY_D ] )
    {
        for( int i = 1; i <= 2; i++ )
        {
            y1++;
            rest( 10 );
        }
    }
P-617
dudek
» 2008-05-04 17:28:53
C/C++
for( int i = 1; i <= 2; i++ )
powiedz tylko jaki sens maja te Twoje petle i napisz co dokladnie chcesz osiagnac bo troche niezbyt to rozumiem co napisales
P-619
maciek1316
Temat założony przez niniejszego użytkownika
» 2008-05-04 17:41:50
Chcę zrobić dwa obiekty np:kwadraty poruszane za pomocą klawiszy  i poruszające sie z różną prędkością.
P-620
dudek
» 2008-05-04 17:49:55
EE myslałem ze Ci chodziło o jakies obiekty typu platformy, poruszane automatycznie. No to nic prostrszego. Jeden kwadrat przesuwasz np o 10 pikseli a drugi o 5 :) i masz rozne prędkości.
P-622
maciek1316
Temat założony przez niniejszego użytkownika
» 2008-05-04 17:53:31
...takie proste. Dzięki:*
P-623
« 1 »
  Strona 1 z 1