Code: Alles auswählen
;****************************************
;*** Start.pb
;***
;*** Starte das Malprogramm...
;*** ^^^^^^
;***
;*** by Tombi, March.7th,2008
;*** PB Ver 3.30 Win
;****************************************
;Includes
IncludeFile "init.pb"
IncludeFile "options.pb"
IncludeFile "procedure.pb"
;Fenster öffnen
OpenWindow(0,pX,pY,wX,wY,#PB_Window_MinimizeGadget,"Malen")
OpenWindowedScreen(WindowID(0), 0, 0, wX, wY, 0, 0, 0)
Repeat
While WindowEvent() : Wend
FlipBuffers()
ExamineKeyboard()
MLC = GetAsyncKeyState_(#VK_LBUTTON)
MRC = GetAsyncKeyState_(#VK_RBUTTON)
If MLC
;Die alten Mouse-Kooardinaten speichern
OldMouseX = MouseX
OldMouseY = MouseY
MouseX = WindowMouseX()
MouseY = WindowMouseY()
;Wenn die Mouse-Koordinaten nicht die gleichen sind, ins Debug-Fenster schreiben.
If Not(MouseX, OldMouseX) Or Not(MouseY, OldMouseY)
Debug Str(MouseX) + "|" + Str(MouseY)
EndIf
StartDrawing(ScreenOutput())
FrontColor(255,255,255)
Plot(MouseX-3,MouseY-22)
StopDrawing()
EndIf
Delay(1)
Until KeyboardPushed(#PB_Key_Escape)
Options.pb -> pX,pY,wX,wY sind dort vorhanden (Inhalt selbsterklärend)
Procedure.pb hier:
Code: Alles auswählen
Procedure Not(x.w,y.w)
If x.w = y.w
ProcedureReturn 0
Else
ProcedureReturn 1
EndIf
EndProcedure
Mein Problem nun aber:
Wenn man die Maus längere Zeit gedrückt hällt, so wir nur "jeder 2. Punkt" gemalt. Dies liegt wohl am FlipBuffers()-Befehl. Wie kann man das umgehen?