Computer Science Canada Collision problem |
Author: | Barda4 [ Fri Jan 18, 2008 12:51 pm ] | ||
Post subject: | Collision problem | ||
Hi, I like many others are trying to finish my final program and my collisions are not working. If you can help me then please I would really appreate it!
|
Author: | Megaryuu [ Mon Jan 21, 2008 1:35 pm ] |
Post subject: | Re: Collision problem |
I need more information - like what objects do you have on your window? |
Author: | Barda4 [ Mon Jan 21, 2008 1:36 pm ] |
Post subject: | Re: Collision problem |
Here Public Class Form2 #Region "Variables" Dim X As Integer = 174 Dim Y As Integer = 157 Dim mover As Boolean = False Dim mover2 As Boolean = False Dim mover3 As Boolean = False Dim mover4 As Boolean = False Dim i As Integer Dim X2 As Integer = 0 Dim Y2 As Integer = 0 Dim Box1X1 As Integer Dim Box1Y1 As Integer Dim Box1X2 As Integer Dim Box1Y2 As Integer Dim Box2X1 As Integer Dim Box2Y1 As Integer Dim Box2X2 As Integer Dim Box2Y2 As Integer #End Region Private Sub Form2_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown If e.KeyCode = Keys.Down And mover = False Then Y += 2 PictureBox1.Location = New Point(X, Y) PictureBox4.Location = New Point(X, Y) Else Y = Y End If If e.KeyCode = Keys.Right And mover = False Then PictureBox1.Location = New Point(X, Y) PictureBox4.Location = New Point(X, Y) If PictureBox1.Location.X <= 587 Then PictureBox1.Location = New Point(X, Y) Else X += 2 End If End If If e.KeyCode = Keys.Left And mover = False Then PictureBox1.Location = New Point(X, Y) PictureBox4.Location = New Point(X, Y) If PictureBox1.Location.X <= 0 Then PictureBox1.Location = New Point(X, Y) Else X -= 2 End If Else X = X End If If e.KeyCode = Keys.Up And mover = False Then Y -= 2 PictureBox1.Location = New Point(X, Y) PictureBox4.Location = New Point(X, Y) Else Y = Y End If If e.KeyCode = Keys.Space Then PictureBox1.Visible = False PictureBox4.Visible = True mover = True End If End Sub Private Sub Form2_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp If e.KeyCode = Keys.Space Then PictureBox1.Visible = True PictureBox4.Visible = False mover = False End If End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick If X2 >= 0 And X2 < 200 And Y2 = 0 Then X2 += 2 ElseIf X2 = 200 And Y2 < 200 Then Y2 += 2 ElseIf X2 > 0 And X2 <= 200 And Y2 = 200 Then X2 -= 2 ElseIf X2 = 0 And Y2 > 0 Then Y2 -= 2 End If If Box1X1 < Box2X2 And Box1X2 > Box2X1 And Box1Y1 < Box2Y2 And Box1Y2 > Box2Y1 Then PictureBox2.Visible = False End If PictureBox2.Location = New Point(X2, Y2) End Sub Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Timer1.Enabled = True PictureBox4.Visible = False Box1X1 = PictureBox1.Location.X Box1Y1 = PictureBox1.Location.Y Box1X2 = Box1X1 + PictureBox1.Size.Width Box1Y2 = Box1Y1 + PictureBox1.Size.Height Box2X1 = PictureBox2.Location.X Box2Y1 = PictureBox2.Location.Y Box2X2 = Box2X1 + PictureBox2.Size.Width Box2Y2 = Box2Y1 + PictureBox2.Size.Height End Sub End Class |
Author: | Megaryuu [ Mon Jan 21, 2008 2:12 pm ] | ||
Post subject: | Re: Collision problem | ||
Here, this might help - insert in Form2_KeyDown.
|
Author: | Barda4 [ Fri Jan 25, 2008 9:19 pm ] | ||
Post subject: | Re: Collision problem | ||
This is for anyone else who needs to know collision detection:
Now the only problem is that I don't know where to place it so that when I am not moving I die |