"mouse über screen?" = problem! :-(

Previous topic - Next topic

blastar

unter einer desktop-umgebung (habe jetzt nur win32 getestet) gibt der befehl MOUSESTATE die korrekten pixel-coodrinaten des mausezeigers zurück WENN er sich ÜBER dem OGL-screen befindet, verläßt er den screen zeigt er (je nach achse) '0' oder die max größe des screens an... gibt es eine möglicheit das auszulesen? am besten wäre es natürlich wenn der befehl MOUSESTATE bei einem verlassen des screen '-1' für X & Y zurückgibt! :-)

Kitty Hello

Ah.
Hmm..
Nö.

Unter Win32 könntest Du mit GetCursorPos die globalen Koordinaten bekommen, und mit ScreenToClient(GLBASIC_HWND(), point) dann in lokale umwandeln.
Ist das wichtig?

blastar

ich wollte einen speziellen effekt erzielen beim verlassen des screens/windows mit dem mousezeigers... so was wie mouseover... und soll halt auch funktionieren ohne dass das window den fokus verliert. schade, dann muss ich mich entweder wieder durch api's durchwühlen oder darauf verzichten... ist aber ok, GLBASIC ist eben voll auf games ausgelegt und konzentriert sich auf funktionen die auf allen geräten und BS's funktionieren! :-)

Kitty Hello

Mach's doch, wenn der Mauspfeil x=0 oder x=screenwidth-1 hat.

blastar

mein ursprünglicher gedanke dazu war es den system-mousezeiger auszublenden wenn er sich über dem screen befindet und dafür ein spezielles sprite als mousezeiger darzustellen - ich habe deine idee schon langer versucht und bin zumind im fenstermodus auch auf das gewünschte ergebnis gekommen aber da ich auch eine möglichkeit zum fullscreen gegeben habe funktioniert das nicht richtig. sobald sich der sprite-mousezeiger am rand des bildschrims befindet verschwindet er und dafür erscheint der system-mousezeiger. ich habe das jetzt mit einer zusätzlichen abfrage gelöst ob der screen als fullscreen geöffnet wurde...