Maus-Sprite Kollision

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
ProgOldie
Beiträge: 236
Registriert: 19.05.2012 17:09
Computerausstattung: Windows11, Arduinos, Pi3, PureBasic 6.02

Maus-Sprite Kollision

Beitrag von ProgOldie »

Hallo,
ich beschäftige mich mit wachsender Begeisterung u.a. mit Sprites. Nun habe ich mehrere Sprites auf dem Bildschirm und möchte wissen, über welchem Sprite sich ggf. die Maus befindet. Mein Problem:Ich sehe noch nicht einmal die Maus. Meine Idee, einen Mauszeiger als Sprite zu konstruieren und dann mit Spritekollision zu testen, ist vielleicht zu aufwändig.

Code: Alles auswählen

If InitMouse() = 0 Or InitSprite() = 0 Or InitKeyboard() = 0
  MessageRequester("Error", "Can't open DirectX 7", 0)
  End
EndIf


If OpenScreen(800, 600, 32, "Mouse") = 0
  MessageRequester("Error", "Impossible to open a 800*600 32 bit screen",0)
EndIf

;Hier Sprite 0 und Sprite 1 laden 

Repeat
  FlipBuffers()                    
  ClearScreen(RGB(255,255,255))                  
  ExamineKeyboard()
  ExamineMouse()                      
  DisplaySprite(1, 100,100)
  DisplaySprite(0, 200,500)
Until MouseButton(#PB_MouseButton_Left) Or MouseButton(#PB_MouseButton_Right)

End 
Also: Wie sehe ich den Mauszeiger und wie erfahre ich, wenn er über einem Sprite steht (und über welchem?)

Auf jeden Fall: Frohe Weihnachten!
Windows10 / PB5.70 / Arduino (-Due) / Raspberry Pi3 /Linux Mint 18
Benutzeravatar
captain_hesse
Beiträge: 138
Registriert: 17.05.2009 18:55
Computerausstattung: Windows 7 Ultimate 64 Bit / AMD Phenom II 1090T, 6x3200 MHz / AMD HD-6850 / PureBasic 5.1 (x86) (x64)
Wohnort: Saarland

Re: Maus-Sprite Kollision

Beitrag von captain_hesse »

Du kannst die Maus nicht sehen weil sie von Pure Basic blockiert (locked) ist, mit dem Befehl ReleaseMouse() kannst du das ändern.
ProgOldie hat geschrieben:Meine Idee, einen Mauszeiger als Sprite zu konstruieren und dann mit Spritekollision zu testen, ist vielleicht zu aufwändig.
finde ich nicht, ich denke das dies eine gute Methode ist um eine Maus-Sprite Kollision zu ermitteln ich würde es wohl auch so machen.
Windows 7 Ultimate 64 Bit / AMD Phenom II 1090T, 6x3200 MHz / AMD HD-6850 / PureBasic 5.1 (x86) (x64)
Antworten