- Home
·
- Games
·
- Touch Module 2.0 More advanced game collision detection.
Touch Module 2.0 More advanced game collision detection.
Touch Module 2.0 More advanced game collision detection.
API Declarations
Create a wall (Picture2) and copy it and say yes for array. (you have picture2(0) and picture2(1)
Copy first section of code into a module (TouchModule)
Copy second section of code into Picture1 Keydown
Rate Touch Module 2.0 More advanced game collision detection.
(1(1 Vote))
Function touch(Picture1 As PictureBox, Picture2 As PictureBox) As String
Step = 50 'MAKE SURE IF YOU CHANGE THE AMOUNT CHAR MOVES TO CHANGE THIS TO THE SAME #'
touch = "False"
If ((Picture1.Top + Picture1.Height >= Picture2.Top) _
And (Picture1.Top <= Picture2.Top + Picture2.Height) _
And (Picture1.Left + Picture1.Width >= Picture2.Left) _
And (Picture1.Left + Picture1.Width - Step < Picture2.Left)) _
Then
touch = "Right"
Picture1.Left = Picture1.Left - Step
End If
If ((Picture1.Top + Picture1.Height >= Picture2.Top) _
And (Picture1.Top <= Picture2.Top + Picture2.Height) _
And (Picture1.Left <= Picture2.Left + Picture2.Width) _
And (Picture1.Left + Step > Picture2.Left + Picture2.Width)) _
Then
touch = "Left"
Picture1.Left = Picture1.Left + Step
End If
If ((Picture1.Left + Picture1.Width >= Picture2.Left) _
And (Picture1.Left <= Picture2.Left + Picture2.Width) _
And (Picture1.Top <= Picture2.Top + Picture2.Height) _
And (Picture1.Top + Step > Picture2.Top + Picture2.Height)) _
Then
touch = "Top"
Picture1.Top = Picture1.Top + Step
End If
If ((Picture1.Left + Picture1.Width >= Picture2.Left) _
And (Picture1.Left <= Picture2.Left + Picture2.Width) _
And (Picture1.Top + Picture1.Height >= Picture2.Top) _
And (Picture1.Top + Picture1.Height - Step < Picture2.Top)) _
Then
touch = "Bottom"
Picture1.Top = Picture1.Top - Step
End If
End Function
'SECTION 2
Select Case KeyCode
Case vbKeyUp
Picture1.Top = Picture1.Top - 50
Picture1.picture = LoadPicture("Your bitmap of char facing up.bmp") 'Example : Picture1.picture = LoadPicture("C:/Program Files/My Game/Character/Up.bmp")
Case vbKeyDown
Picture1.Top = Picture1.Top + 50
Picture1.picture = LoadPicture("Your bitmap of char facing down.bmp")
Case vbKeyRight
Picture1.Left = Picture1.Left + 50
Picture1.picture = LoadPicture("Your bitmap of char facing right.bmp")
Case vbKeyLeft
Picture1.Left = Picture1.Left - 50
Picture1.picture = LoadPicture("Your bitmap of char facing left.bmp")
'Code to not allow picture1 pass through other pictures (you have array for picture2)
For x = 0 To 3 '3 means you have 4 walls (0,1,2,3) change 3 if you have more walls
Print(touch(picture1, picture2(x)))
Next x
'if you want to run an event when picture1 hits another,
If touch(picture1, Picture2) = "Left" Then 'Substitute "Left" for whatever side
'your code
'ex: form2.show
End If
Touch Module 2.0 More advanced game collision detection. Comments
No comments yet — be the first to post one!
Post a Comment