Seite 2 von 2

Re: Probleme mit der Maus unter Linux

Verfasst: 13.10.2009 17:10
von Waldixxl
@CptGreenwood

Teste den ganzen Code den er zur Verfügung stellt, sollt laufen
danach kannst Du ihn immer noch anpassen

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(1)
  Until Ende=1
  CloseScreen()
EndIf
End
mfg
Walter

Re: Probleme mit der Maus unter Linux

Verfasst: 13.10.2009 17:30
von CptGreenwood
Der gesamte Code funktioniert (wenn auch ruckelig), das habe ich schon getestet, aber ich muss es ja in meinem Proggi zum Laufen bekommen und ich sehe momentan nicht, was ich anders mache, als im Original.

Re: Probleme mit der Maus unter Linux

Verfasst: 13.10.2009 17:38
von Waldixxl
@CptGreenwood

der Unterschied, er verwendet Sprite zur Darstellung, was meines wissen erheblich schnellen ist als jedes mal neu zeichnen.
die Schnelligkeit kannst Du durch verändern der Zeit des Delay() erreichen.
Nicht die Hoffnung aufgeben.
Walter

Re: Probleme mit der Maus unter Linux

Verfasst: 13.10.2009 19:54
von CptGreenwood
Liegt nicht am Sprite. Ich habe auch das original Sprite aus dem Beispiel bei mir eingefügt, das hat auch nicht geklappt, Sprite wurde angezeigt, ließ sich aber nicht bewegen.

Re: Probleme mit der Maus unter Linux

Verfasst: 17.10.2009 00:21
von MarkusOhm
CptGreenwood hat geschrieben:Liegt nicht am Sprite. Ich habe auch das original Sprite aus dem Beispiel bei mir eingefügt, das hat auch nicht geklappt, Sprite wurde angezeigt, ließ sich aber nicht bewegen.
Da muss ich mich wohl einmischen ,hatte vergessen das dann auch die Tastaturabfrage über sdl erfolgen muss, :oops:

Code: Alles auswählen

Macro Init_SDL_Maus()
  SDL_Init_(#SDL_INIT_VIDEO)
EndMacro

Macro Examine_Sdl_Maus()
  SDL_PollEvent_(@Event.SDL_Event)
EndMacro

Macro MausdlX()
   Event\motion\x
EndMacro

Macro MausdlY()
  Event\motion\y
EndMacro
;InitKeyboard()
InitSprite()
init_sdl_Maus()
OpenScreen(800, 600, 32, "GameLoop")

Repeat
  ClearScreen(RGB(0,0,25))

  Examine_Sdl_Maus()
  StartDrawing(ScreenOutput())
    Box(MausdlX(), MausdlY(), 5, 5, RGB(255,0,0))
  StopDrawing()
  FlipBuffers()
  
  
    ;Keyboardabfrage-
    If Event\key\keysym\sym = #SDLK_ESCAPE
      ende=1
    EndIf
Until Ende=1
End