Ich verzweifle gerade total.
Ich versuche ein MazeGame zu machen und habe nun (textweise) 2 Panels in der Form1. Diese Sind quasi die "Brücken über die Lava". D.h, wenn die Maus über denen ist, ist alles Ok, wenn nicht dann ist man tot.
So Nun mein Problem. Ich bekomme das hin mit einem Panel, nicht aber mit mehreren.
Hier mal der Komplette Code vom Spiel:
Das "g As Panel" ist einfach nur zur Kontrolle da (damit das bounds funktioniert)
So bei einem Panel funktioniert das, beim anderen aber nicht.
Die beiden Panel heißen p1 und p2
Also das "Contains("p")... müsste gehen ( sieht man ja das es bei einem Panel funktioniert)
Mit der Gleichen Methode Kollision() habe ich mal ein Pacman programiert. Dort funjtionierts super mit jedem Panel...
Große Frage:
Warum funktioniert es beim Anderen NICHT?
Ich versuche ein MazeGame zu machen und habe nun (textweise) 2 Panels in der Form1. Diese Sind quasi die "Brücken über die Lava". D.h, wenn die Maus über denen ist, ist alles Ok, wenn nicht dann ist man tot.
So Nun mein Problem. Ich bekomme das hin mit einem Panel, nicht aber mit mehreren.
Hier mal der Komplette Code vom Spiel:
VB.NET-Quellcode
- Public Class Form1
- Dim MausX As Integer
- Dim MausY As Integer
- Dim g As Panel = New Panel
- Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
- MausX = MousePosition.X - Me.Location.X - 2
- MausY = MousePosition.Y - Me.Location.Y - 19
- g.BackColor = Color.Red
- g.Location = New Point(MausX, MausY)
- g.BringToFront()
- Kollision()
- End Sub
- Sub Kollision()
- For Each Wall As Control In Me.Controls
- If Wall.Name.Contains("p") Then
- If g.Bounds.IntersectsWith(Wall.Bounds) Then
- Me.Text = "OK"
- Else
- Me.Text = "Not OK"
- End If
- End If
- Next
- End Sub
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- g.Name = "A"
- g.BackColor = Color.Red
- g.Size = New Size(1, 1)
- g.BringToFront()
- End Sub
- End Class
Das "g As Panel" ist einfach nur zur Kontrolle da (damit das bounds funktioniert)
So bei einem Panel funktioniert das, beim anderen aber nicht.
Die beiden Panel heißen p1 und p2
Also das "Contains("p")... müsste gehen ( sieht man ja das es bei einem Panel funktioniert)
Mit der Gleichen Methode Kollision() habe ich mal ein Pacman programiert. Dort funjtionierts super mit jedem Panel...
Große Frage:
Warum funktioniert es beim Anderen NICHT?