Seite 1 von 2

[Linux] Für Ubuntu User MausMacros für PureBasic 4.31++

Verfasst: 01.09.2009 21:34
von MarkusOhm
Was haltet Ihr von den Code Beispiel beiliegend:
Wichtig: Betriebssystem Ubuntu PureBasic 4.31++

Code: Alles auswählen

;---InitMouse()--
Macro Init_SDL_Maus()
  SDL_Init_(#SDL_INIT_VIDEO)
EndMacro
;----ExamineMouse()---
Macro Examine_Sdl_Maus()
  SDL_PollEvent_(@Event.SDL_Event)
EndMacro
;----MouseX()--
Macro MausdlX()
   Event\motion\x
EndMacro
;---MouseY()--
Macro MausdlY()
 Event\motion\y
EndMacro
;---Flag-MausButton()
#MausBLeft=#SDL_BUTTON_LEFT
#MausBRight=#SDL_BUTTON_RIGHT
#MausBMiddle=#SDL_BUTTON_MIDDLE
;---MouseButton()---
procedure MausButton(Flag)
  Shared Event.SDL_Event
  If Flag=Event\button\button
    ProcedureReturn 1
  Else
    ProcedureReturn 0
  EndIf
EndProcedure



;-----Test-----
If InitSprite()=0 Or init_sdl_Maus()<0
  End
EndIf
If OpenScreen(640,480,32,"Test der Macros")<>0
  ;---Creiere-Maus-Sprite-
  CreateSprite(0,32,32)
  StartDrawing(SpriteOutput(0))
    Box(0,0,32,32,$00ff00)
    LineXY(0,0,32,32,$ff00ff)
  StopDrawing()
  ;----Starte Schleife-
  Repeat
    FlipBuffers()
    ClearScreen($0000ff)
    Examine_Sdl_Maus()
    DisplaySprite(0,MausdlX(),MausdlY())
    Ret=0
    Ret=MausButton(#MausBLeft)
    Ret=Ret+MausButton(#MausBMiddle)
    Ret=Ret+MausButton(#MausBRight)
    If Ret>0
      ende=1
    EndIf
    Delay(2)
  Until Ende=1
  CloseScreen()
EndIf
End
Achtung der Code ist angepasst(an der Kritik)

Verfasst: 01.09.2009 22:05
von NicTheQuick
Es funktioniert zwar, allerdings ist es sehr langsam. Also die Mausbewegung kommt immer
hinterher.

Außerdem ist meine Auflösung nach Beenden des Programms bei 640x480 geblieben. Das
war sehr unübersichtlich wenn man 1680x1050 gewohnt ist. ;)

///Edit:
Hab grad festgestellt, dass ein 'CloseScreen()' Abhilfe verschafft um die ursprüngliche
Auflösung wieder herzustellen.

Und wenn man das 'Delay(20)' entfernt, dann geht das ganze auch flüssig. Wieso hast du
das überhaupt eingebaut?

Re: Für Ubuntu User MausMacros für PureBasic 4.31++

Verfasst: 01.09.2009 22:07
von Kiffi
seltsame Umfrage. Ich habe mit 'Nein' gestimmt, weil ich unter Windows
programmiere.

Grüße ... Kiffi

Re: Für Ubuntu User MausMacros für PureBasic 4.31++

Verfasst: 01.09.2009 22:11
von Tur0k
Kiffi hat geschrieben:seltsame Umfrage. Ich habe mit 'Nein' gestimmt, weil ich unter Windows
programmiere.

Grüße ... Kiffi
*Hust*...
Titel hat geschrieben:Für Ubuntu User

Re: Für Ubuntu User MausMacros für PureBasic 4.31++

Verfasst: 01.09.2009 22:13
von Kiffi
@ Tur0k:
Umfrage hat geschrieben:Hilft dieses Programm
Tur0k hat geschrieben:*Hust*...
Hustenbonbon? :-)

Grüße ... Kiffi

Verfasst: 01.09.2009 22:24
von MarkusOhm
Delay() hatte ich eingebaut weil ich Pure auf ein Netbook progge

/:-> Mir ging es hauptsächlich um die Macros und Procedure die Repeat-Until-Schleife hatte ich nur zur Anschauung eingebaut

Verfasst: 01.09.2009 22:34
von ts-soft
Eine Umfrage unter Tips und Tricks ist schon etwas deplaziert :wink:

Ich wäre dafür das ganze nach Linux zu verschieben, der Code ohne
Umfrage kann ja dann wieder hier gepostet werden, mit eindeutiger Aussage
für welches OS natürlich :wink:

Verfasst: 01.09.2009 22:38
von MarkusOhm
Jetzt denke ich auch ,dass die Linux-Ecke besser für den Code gedacht ist.
Ich tendierte aber eher in die Code,Tipps und Tricks-Ecke

Verfasst: 01.09.2009 23:01
von NicTheQuick
Wieso hast du den Code jetzt zweimal gepostet?

Im Übrigen würde ich den Code auch lieber in diesem Forum belassen. Ich schreiben mal
novh 'Linux' in den Threadtitel.

Verfasst: 01.09.2009 23:04
von ts-soft
> Im Übrigen würde ich den Code auch lieber in diesem Forum belassen
Kannste machen, aber verschieb die Umfrage, umfragen gehören hier eher
nicht hin.