Probleme mit der Maus unter Linux

In dieser Linux-Ecke dürfen nur Themen rund um Linux geschrieben werden.
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
Waldixxl
Beiträge: 108
Registriert: 27.12.2005 17:35
Wohnort: Linz, Österreich

Re: Probleme mit der Maus unter Linux

Beitrag 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
Lesen bei schlechten Lichtverhältnissen ist nicht schlecht für die Augen, sondern trainiert sie sogar.

Linux Ubuntu Mate 18.04
PB 5.71
Intel i5
Benutzeravatar
CptGreenwood
Beiträge: 125
Registriert: 12.07.2007 10:40

Re: Probleme mit der Maus unter Linux

Beitrag 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.
Benutzeravatar
Waldixxl
Beiträge: 108
Registriert: 27.12.2005 17:35
Wohnort: Linz, Österreich

Re: Probleme mit der Maus unter Linux

Beitrag 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
Lesen bei schlechten Lichtverhältnissen ist nicht schlecht für die Augen, sondern trainiert sie sogar.

Linux Ubuntu Mate 18.04
PB 5.71
Intel i5
Benutzeravatar
CptGreenwood
Beiträge: 125
Registriert: 12.07.2007 10:40

Re: Probleme mit der Maus unter Linux

Beitrag 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.
Benutzeravatar
MarkusOhm
Beiträge: 46
Registriert: 16.08.2009 15:06
Computerausstattung: Asus EeePc 904HD 900MHz Intel-Graphik-Chip-915GM WindowsXP + UbuntuLucid

Re: Probleme mit der Maus unter Linux

Beitrag 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
Asus EeePc 904HD 900MHz Intel-Graphik-Chip-915GM WindowsXP + UbuntuLucid
Antworten