Berührungsaktion

PH234X

Mitglied
Hi! Ich würd gern es hinbekommen, dass wenn eine MSGBOX etwas berührt dass dann was passiert xD

Ich habs so probiert, klappt aber net

If Ball1.Location = New Point(119, 116) Or Ball1.Location = New Point(119, 104) Or Ball1.Location = New Point(135, 104) Or Ball1.Location = New Point(135, 116) Then
MsgBox("Test")
End If

Jemand ne idee?
Ball1 ist ne Picturebox
 
Hallo,

ich versteh dein Problem nicht so recht.
Was meinst du mit "dass wenn eine MSGBOX etwas berührt" - wenn der Benutzer einen bestimmten Punkt auf der Picturebox berührt oder wenn die MsgBox einen bestimmten Punkt überdeckt?

Bei Ersterem: Im entsprechenden Event (bspw. MouseMove) der Picturebox die Mausposition abfragen (e.Location).

Bei Letzterem: Da du Events von MsgBoxen meines Achtens nicht abfangen kannst, müsstest du dir also selbst eine MsgBox bauen (WindowsForm). Dort kannst du entsprechende Events abfangen und Properties abfragen.

So long,

wos
 
Mit deinem Code prüfst du nur, ob sich die linke obere Ecke der PictureBox an einem der vier genannten Punkte befindet.
Du willst aber sicherlich wissen, ob sich die PictureBox in dem von den 4 Punkten aufgespannten Recheck befindet, oder?
Code:
Dim Rechteck As New Rectangle(119, 104, 16, 12)
If Rechteck.IntersectsWith(New Rectangle(Ball.Location, Ball.Size)) Then
    MessageBox.Show("Test")
End If

Wobei 119=X-Position, 104=Y, 16=Breite=135-119 und 12=Höhe=116-104 ist.

Die IntersectsWith-Methode prüft, ob sich zwei Rechtecke überschneiden.
 
Mit deinem Code prüfst du nur, ob sich die linke obere Ecke der PictureBox an einem der vier genannten Punkte befindet.
Du willst aber sicherlich wissen, ob sich die PictureBox in dem von den 4 Punkten aufgespannten Recheck befindet, oder?
Code:
Dim Rechteck As New Rectangle(119, 104, 16, 12)
If Rechteck.IntersectsWith(New Rectangle(Ball.Location, Ball.Size)) Then
    MessageBox.Show("Test")
End If

Wobei 119=X-Position, 104=Y, 16=Breite=135-119 und 12=Höhe=116-104 ist.

Die IntersectsWith-Methode prüft, ob sich zwei Rechtecke überschneiden.


Genau DAS habich gesucht! Danke!
 
Zurück