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

[C++] Operowanie na milisekundach.

Ostatnio zmodyfikowano 2010-05-05 20:28
Autor Wiadomość
Saiph
Temat założony przez niniejszego użytkownika
[C++] Operowanie na milisekundach.
» 2010-05-05 16:37:37
Witam. Mógłby mi ktoś pokazać jak operuje się na milisekundach? Nie ma ich akurat w kursie opisanych ;(

edit: ofc biblioteka time
P-16596
madmike44
» 2010-05-05 16:43:35
Chyba musisz być bardziej konkretny - napisz, co chcesz uzyskać; o jakie operacje chodzi....
P-16597
Saiph
Temat założony przez niniejszego użytkownika
» 2010-05-05 16:50:21
Dokładniej.. a wiec potrzebuje zrobić licznik który liczył by mi do 0.25 sec i zmieniał wartość zmiennej.
Jeśli chodzi o wykorzystanie tego, to pisze sobie grę w której lata się statkiem kosmicznym i strzela po wciśnięciu klawisza, ale potrzebuje zrobić coś takiego żeby można było strzelać co 0.25 sec a nie cala seria.
P-16598
szyx_yankez
» 2010-05-05 16:58:47
http://msdn.microsoft.com/en-us/library/ms724408
C/C++
//include <Winbase.h>
if( GetTickCount() % 250 == 0 ) //heh
{
    //strzał
}
P-16599
Elaine
» 2010-05-05 17:05:25
To chyba nie zrobi tego, co OP chce osiągnąć...
P-16601
szyx_yankez
» 2010-05-05 17:38:27
Umnie prawie wszystko gra, tylko może masz Rację, że za dokładne to to nie jest. Dla przykładu gdy za 250 wstawiłem 1000(wykonuje sie co 1 s) to mi się wykonywało co 0.3 s jak nie szybciej, trzeba ten parametr dostosować.
P-16604
Saiph
Temat założony przez niniejszego użytkownika
» 2010-05-05 17:50:43
Na pewno to się nie gryzie z allegro?

C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/wingdi.h:1351: error: conflicting declaration 'typedef struct tagBITMAP BITMAP'
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/allegro/gfx.h:276: error: 'BITMAP' has a previous declaration as `typedef struct BITMAP BITMAP'
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/wingdi.h:1351: error: declaration of `typedef struct tagBITMAP BITMAP'
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/allegro/gfx.h:276: error: conflicts with previous declaration `typedef struct BITMAP BITMAP'
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/wingdi.h:1351: error: declaration of `typedef struct tagBITMAP BITMAP'
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/allegro/gfx.h:276: error: conflicts with previous declaration `typedef struct BITMAP BITMAP'
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/wingdi.h:1351: error: declaration of `typedef struct tagBITMAP BITMAP'
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/allegro/gfx.h:276: error: conflicts with previous declaration `typedef struct BITMAP BITMAP'
P-16605
Elaine
» 2010-05-05 17:53:14
Tu nie chodzi o dokładność a o to, że po prostu nie działa - warunek wykona się tylko, jeśli GetTickCount zwróci wartość podzieloną przez 250, to nie jest to, czego OP chce. Rozwiązanie tego "problemu" jest proste - trzymamy gdzieś zachowany stary czas (na starcie może być choćby 0) i sprawdzamy, czy obecny - stary >= 250. Jeśli tak, to stary czas = obecny czas i wykonujemy akcję.
P-16606
« 1 » 2 3
  Strona 1 z 3 Następna strona