Zeit einblenden
-
Hi,
ich würde gerne in ein Spiel was ich programmiert habe oben die Zeit (in Sekunden) einblenden!Ich brauche also eine Funktion die jede Sekunde (oder weniger) aufgerufen wird!
Kann mir wer helfen??
p.s.
Vorher habe ich die LRESULT CALLBACK WindowFunc benutzt!
Bei WM_PAINT (was dauerhaft gesendet wurde) wurde kontrolliert ob eine Sekunde vergangen ist und ggf. die Zeitangabe neu gezeichnet!
Das sah etwa so aus:LRESULT CALLBACK WindowFunc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch(msg) { case WM_PAINT: if(MinenraeumerLetzteZeit != time(0)) { MinenraeumerZeitAnzeigen(); MinenraeumerLetzteZeit = time(0); } return 0; break; } return DefWindowProc(hwnd, msg, wParam, lParam); }
Jetzt habe ich aber noch folgenden Code in die WM_Paint eingefügt, damit das Programm immer neu berechnet wird!
PAINTSTRUCT ps; HDC hDC; hDC = BeginPaint(hWnd,&ps); Minenraeumer(); EndPaint(hWnd,&ps);
Dadurch wird aber WM_Paint nicht mehr dauerhaft gesendet und meine Funktion zur MinenraeumerZeitAnzeigen() nicht alle 1 Sekunde aufgerufen!
Ich hoffe jemadn kann ir helfen!
Danke schon mal:D
-
Weißt du, was ein Komma ist ?
,
Ansonsten: Mach dir doch ne separate Threadfunktion für die Zeitausgabe,
die du mit Sleep( ms ) verzögerst.
Gruß, p.
-
Rate mal welchen Finger ich dir gerade zeige ^^
...
...
...
Genau, der hier:
-
Aber sonst war doch der Tip einsame Spitze oder ?
-
logged off schrieb:
Aber sonst war doch der Tip einsame Spitze oder ?
Ja, jetzt weiß ich was ein Komma ist!
-
Meister Quitte schrieb:
logged off schrieb:
Aber sonst war doch der Tip einsame Spitze oder ?
Ja, jetzt weiß ich was ein Komma ist!
Hatte wohl nen stinkigen Tag sorry.
Hättest du mal geguckt was ein Thread ist, dann wüßtest du jetzt nicht nur was ein Komma ist, sondern auch wie man mit Hilfe eines Thread eine Zeitanzeige realisiern kann.
#include <windows.h> #include <iostream> using namespace std; DWORD WINAPI Timeout (LPVOID pt) { const int timeout = 3; int sec = 1; while( sec <= timeout ) { cout << sec++ << endl; Sleep( 1000 ); } cout << "BUMM" << endl; return 0; } int main() { HANDLE hHandle = CreateThread ( NULL , 0 , Timeout, NULL, 0 , 0 ); Sleep(5000); }
-
Hab ich schon geguckt und hab alles auch schon rausgefunden und bin damit schon fertig
Trotzdem danke!