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

[Allegro 4, C++] Timer obsługujący magazynek

Ostatnio zmodyfikowano 2012-01-26 11:08
Autor Wiadomość
radmack
Temat założony przez niniejszego użytkownika
[Allegro 4, C++] Timer obsługujący magazynek
» 2012-01-25 22:29:15
Witam ponownie, ostatnio próbuję jakoś zaimplementować timer do mojej gry, który obsługiwałby strzelanie. Napisałem coś takiego do obsługi strzelania:

C/C++
if( mouse_b == 1 && !Pressed && magazynek > 0 )
{
    if( wybrana_bron == 1 )
    {
        magazynek--;
        play_sample( strzal, 255, 127, 1000, 0 );
    }
   
    if( wybrana_bron == 2 )
    {
        clock_t start = clock();
        clock_t final = clock() - start;
       
        if( final >= 100 )
        {
            play_sample( strzal, 255, 127, 1000, 0 );
            magazynek--;
        }
    }
   
    Pressed = true;
}
if( mouse_b == 2 )
{
    magazynek = 19;
}
if( mouse_b != 1 )
{
    Pressed = false;
}

Zwykły pistolet działa, jedno przyciśnięcie = jeden strzał, ale nie chce strzelać z timerami. Jakieś pomysły, dlaczego to nie chce współpracować? Jeśli łączenie time.h z allegro to zły pomysł, to proszę o podanie mi przykładu z timerami wbudowanymi w allegro, bo z tym sobie poradzić nie mogłem.
P-49476
malan
» 2012-01-26 01:53:22
C/C++
clock_t start = clock();
clock_t final = clock() - start;
Zastanów się jaki ma sens ten fragment kodu.
P-49484
radmack
Temat założony przez niniejszego użytkownika
» 2012-01-26 09:16:58
Ten kawałek kodu ma obliczać, ile czasu minęło od uruchomienia timera w wybranej przeze mnie chwili. Co z nim jest nie tak?
P-49486
ison
» 2012-01-26 09:51:31
to, że tuż po jego uruchomieniu sprawdzasz ile minęło czasu

C/C++
clock_t start = clock(); //bierzesz aktualny czas
clock_t final = clock() - start; //bierzsz aktualny czas i odejmujesz powyższy

zmienna final będzie zawierała czas, który potrzebował Twój komputer na pobranie 2 zmiennych i odjęcie ich od siebie
P-49488
radmack
Temat założony przez niniejszego użytkownika
» 2012-01-26 11:08:00
Ok, to był błąd, przynajmniej to, że za każdym razem deklarowałem nowy timer, ale wciąż nie wiem, jak to poprawnie zaimplementować. Teraz dodałem jeszcze jedną zmienną CzyStrzelono. Jeżeli strzelono, to timer jest resetowany. Ale to nic nie daje. Jak mam to zrobić?
P-49492
« 1 »
  Strona 1 z 1