Seite 1 von 1

Mit Maus im Fenster arbeiten

Verfasst: 10.12.2005 18:30
von PB42
Hallo, in folgendem Source möchte ich übungshalber die Klaviertaste ganz links mit der Maus ansprechen können und kriege das zum Verrecken nicht hin. Ob das irgendwie mit EventType() und WindowMouse() geht? Ich KANN das einfach nicht erraten. Genau das hatte ich übrigens befürchtet, daß mir Riesenprobleme dabei entstehen. So blöd das Übungsbeispiel auch ist, aber es soll sich eine weitere weiße Taste ganz rechts bilden, wenn die erste weiße Taste von links angeklickt wird. Es geht nur darum, daß ich lerne, wie die Maus eingebunden wird. Der Code:

Code: Alles auswählen

InitSprite()
InitMouse()
OpenWindow(0,0,0,800,600,#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget,"")
OpenWindowedScreen(WindowID(0), 0, 0, 700, 200, 0, 0, 0)

Repeat
eventID = WaitWindowEvent()
EventType()
  
    ClearScreen(0,0,0)
    StartDrawing(ScreenOutput())
    FrontColor(255,255,255)
    CreateSprite(0,20,20)
    DisplaySprite(0,MouseX()-15,MouseY()-15)   
    
    Box(0,0,50,200)
    Box(51,0,50,200)
    Box(102,0,50,200)
    Box(153,0,50,200)
    Box(204,0,50,200)
    Box(255,0,50,200)
    Box(306,0,50,200)
    Box(357,0,50,200)
    
    FrontColor(0,0,0)
    Box(32,0,36,130)
    Box(83,0,35,130)
    Box(134,0,35,130)
    
    Box(235,0,35,130)
    Box(286,0,35,130)  
  StopDrawing()
  FlipBuffers()
  
  If MouseButton(1) And WindowMouseX() > 0 And WindowMouseX() < 50 And WindowMouseY() > 0 And WindowMouseY() < 200
  StartDrawing(WindowOutput())
  FrontColor(255,255,255)
  Box(408,0,50,200)  
  StopDrawing()
  EndIf  
 
Until eventID = #PB_EventCloseWindow
Irgendwie muß das doch schließlich gehen. Danke für Infos.

PB42

Verfasst: 10.12.2005 18:44
von roherter
ist auch klar das du vorher nix gesehn hast du hast den mauscursor ja auch immer wieder übermalt!

Code: Alles auswählen

InitSprite()
InitMouse()
OpenWindow(0,0,0,800,600,#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget,"")
OpenWindowedScreen(WindowID(0), 0, 0, 700, 200, 0, 0, 0)
 CreateSprite(1,20,20)
Repeat
  eventID = WaitWindowEvent()
  EventType()
  ExamineMouse()
  ClearScreen(0,0,0)
  StartDrawing(ScreenOutput())
  FrontColor(255,255,255)
 
  
  
  Box(0,0,50,200)
  Box(51,0,50,200)
  Box(102,0,50,200)
  Box(153,0,50,200)
  Box(204,0,50,200)
  Box(255,0,50,200)
  Box(306,0,50,200)
  Box(357,0,50,200)
  
  FrontColor(0,0,0)
  Box(32,0,36,130)
  Box(83,0,35,130)
  Box(134,0,35,130)
  
  Box(235,0,35,130)
  Box(286,0,35,130) 
  StopDrawing()
  DisplaySprite(1,MouseX(),MouseY())   
  FlipBuffers()
  
  If MouseButton(1) And WindowMouseX() > 0 And WindowMouseX() < 50 And WindowMouseY() > 0 And WindowMouseY() < 200
    StartDrawing(WindowOutput())
    FrontColor(255,255,255)
    Box(408,0,50,200) 
    StopDrawing()
  EndIf 
  
Until eventID = #PB_EventCloseWindow


Verfasst: 10.12.2005 18:56
von PB42
Das war Spitze! Vielen Dank, 100 Punkte und :allright:

PB42

Verfasst: 10.12.2005 19:02
von roherter
kein problem wenn du mal wieder was hast helfe ich gern!