Code: Alles auswählen
If Not InitSprite()
Debug "InitSprite() failed"
End
EndIf
If Not (OpenWindow(1,10,10,800,600,"hello.exe") = 0 Or OpenWindowedScreen(WindowID(1),0,0,800,600))
Debug "OpenWindow() failed"
End
EndIf
InitMouse()
Repeat
ClearScreen(RGB(0,0,0))
ExamineMouse()
If StartDrawing(ScreenOutput())
DrawText(MouseX(),MouseY(),"*")
If MouseButton(#PB_MouseButton_Left)
DrawText(MouseX(),MouseY(),Str(MouseX())+","+Str(MouseY()))
EndIf
StopDrawing()
EndIf
FlipBuffers()
WaitWindowEvent()
Until MouseButton(#PB_MouseButton_Right)
End
Okay, das funktioniert.
Nur so ganz verstehen tue ich den Befehl nicht. Also was er wirklich leistet. In der Hilfe steht zudem, daß man nicht WindowEvent() verwenden sollte, sondern WaitWindowEvent([Timeout]).
Wie gesagt, ich würde gerne auch verstehen, was genau ich da tue - und was ist ein niedriger Timeout-Wert? 1? 100?Sie muss mit Vorsicht benutzt werden, da sie bei fortlaufender Verwendung - anders als WaitWindowEvent() - anderen Programmen während des Wartens auf ein Ereignis keine Rechenzeit zur Verfügung stellt und damit alle CPU-Power verbraucht. In diesem Fall sollte innerhalb der Schleife entweder Delay() oder WaitWindowEvent() mit einem niedrigen Timeout-Wert verwendet werden.
Wenn ich nebenbei die Systemauslastung mit dem Taskmanager überprüfe, sehe ich bei beiden Befehlen keinen großen Unterschied - die schwankt zwischen 3 und 5%.
Das sind halt alles Dinge, mit denen ich mich bei Blitzbasic niemals auseinandergesetzt habe (und auch nicht mußte), und die mich jetzt in den Allerwertesten beißen.
Trotzdem schonmal Danke für die Hilfe; will hier eigentlich auch nicht groß rumspammen, nur eine Entscheidung treffen!