move player with keyboard with boundaries vb.net code example

Example: move player with keyboard with boundaries vb.net

'Note: before I did the code, I added 2 labels, 4 timers 
'(names are "tmrRight", "tmrleft", "tmrUp", and "tmrDown") 
'and 3 pictureboxes (one of which is named "pbPlayer")

'the 2 labels and 2 pictureboxes (unnamed) are the boundaries of the player

Public Class Form1
    Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown
        Select Case e.KeyCode
            Case Keys.Right
                If pbPlayer.Bounds.IntersectsWith(PictureBox2.Bounds) Then
                    tmrRight.Stop()
                Else
                    tmrRight.Start()
                End If
            Case Keys.Left
                If pbPlayer.Bounds.IntersectsWith(PictureBox1.Bounds) Then
                    tmrLeft.Stop()
                Else
                    tmrLeft.Start()
                End If
            Case Keys.Up
                If pbPlayer.Bounds.IntersectsWith(Label1.Bounds) Then
                    tmrUp.Stop()
                Else
                    tmrUp.Start()
                End If
            Case Keys.Down
                If pbPlayer.Bounds.IntersectsWith(Label2.Bounds) Then
                    tmrDown.Stop()
                Else
                    tmrDown.Start()
                End If
        End Select
    End Sub

    Private Sub tmrRight_Tick(sender As Object, e As EventArgs) Handles tmrRight.Tick
        pbPlayer.Left += 10
    End Sub

    Private Sub tmrLeft_Tick(sender As Object, e As EventArgs) Handles tmrLeft.Tick
        pbPlayer.Left -= 10
    End Sub

    Private Sub Form1_KeyUp(sender As Object, e As KeyEventArgs) Handles MyBase.KeyUp
        tmrLeft.Stop()
        tmrRight.Stop()
        tmrUp.Stop()
        tmrDown.Stop()
    End Sub

    Private Sub tmrUp_Tick(sender As Object, e As EventArgs) Handles tmrUp.Tick
        pbPlayer.Top -= 10
    End Sub

    Private Sub tmrDown_Tick(sender As Object, e As EventArgs) Handles tmrDown.Tick
        pbPlayer.Top += 10
    End Sub
End Class

Tags:

Vb Example