Hallo,
ich konnte bis jetzt herausfinden wie man mit SDL die Mauskoordinaten ausliest ( SDL_GetMouseState() ).
Wenn ich meiner Rect-Struktur nun aber die X- und Y-Position zuweise, dann befindet sich das Cursorbild wo es will, aber nicht an der angegebenen Position.
Code:
SDL_GetRelativeMouseState(&MausX, &MausX);
/*********************************/
// Maus_Rect.w = maus_surf->w; ...
/*********************************/
Maus_Rect.x = MausX;
Maus_Rect.y = MausX;
/*********************************/
//... blit(), SDL_Flip(); usw.
/*********************************/
was mache ich falsch?
tux
SDL: Eigener Mousecursor
Re: SDL: Eigener Mousecursor
Hi!
Ich kenne SDL zwar nicht, würde aber mal nach einer Funktion SDL_SetRelativeMouseState(&MausX, &MausX) suchen.
Gruss
Udo
Ich kenne SDL zwar nicht, würde aber mal nach einer Funktion SDL_SetRelativeMouseState(&MausX, &MausX) suchen.
Gruss
Udo
Re: SDL: Eigener Mousecursor
Hy,
also soweit mir bekannt gibt "SDL_GetRelativeMouseState" nur die unterschiede zu der letzten bekannten Mausposition wieder (eben relativ zur letzten Mausposition), um die momentane Mausposition abzufragen musst Du "SDL_GetMouseState" benutzen. Bin momentan am falschen rechner und kann das nicht Testen... aber probier es einfach mal aus... und geb bescheid wenn es geht oder wenn ich die Frage falsch verstanden habe!
CU TerA
also soweit mir bekannt gibt "SDL_GetRelativeMouseState" nur die unterschiede zu der letzten bekannten Mausposition wieder (eben relativ zur letzten Mausposition), um die momentane Mausposition abzufragen musst Du "SDL_GetMouseState" benutzen. Bin momentan am falschen rechner und kann das nicht Testen... aber probier es einfach mal aus... und geb bescheid wenn es geht oder wenn ich die Frage falsch verstanden habe!
CU TerA
Last edited by teratom on 01. Jan 2004 6:08, edited 3 times in total.
Re: SDL: Eigener Mousecursor
Ganz einfach. Guck mal das an:
SDL_GetRelativeMouseState(&MausX, &MausX);
Maus_Rect.x = MausX;
Maus_Rect.y = MausX;
Das geht natürlich nicht. Du brauchst natürlich zwei Variablen, also so:
SDL_GetRelativeMouseState(&MausX, &MausY);
Maus_Rect.x = MausX;
Maus_Rect.y = MausY;
Du könntest das ganze aber auch gleich ins Rect schreiben, dann brauchst du keine zwei Variablen:
SDL_GetRelativeMouseState(&Maus_Rect.x, &Maus_Rect.y);
SDL_GetRelativeMouseState(&MausX, &MausX);
Maus_Rect.x = MausX;
Maus_Rect.y = MausX;
Das geht natürlich nicht. Du brauchst natürlich zwei Variablen, also so:
SDL_GetRelativeMouseState(&MausX, &MausY);
Maus_Rect.x = MausX;
Maus_Rect.y = MausY;
Du könntest das ganze aber auch gleich ins Rect schreiben, dann brauchst du keine zwei Variablen:
SDL_GetRelativeMouseState(&Maus_Rect.x, &Maus_Rect.y);
Re: SDL: Eigener Mousecursor
Das mit den "zwei" Variablen habe ich gar nicht gesehen... so geht es mit sicherheit schon mal NICHT!
CU TerA
CU TerA