Gracias por vuestras respuestas pero no consigo hacer el movimiento que deseo. Salta, muy lento, y también necesito que al chocarse con los obstáculos no los atraviese. Alguien me haria el favor de hacerme el código porfavor ???
PD: Os adjunto el programa:
https://mega.co.nz/#F!990DGTLQ!VD23Iru4mNk46-EJ0-d2vAy aquí el código:
Public Class frmPantalla
Private WithEvents timerSalto As New Timer With {.Enabled = False, .Interval = 50}
Private totalUnidades As Integer = 0
Private unidadesActuales As Integer = 0
Private salto As estadoSalto = estadoSalto.Terminado
Private Enum estadoSalto
Subiendo
Bajando
Terminado
End Enum
Private Enum unidadesSalto
Setenta
End Enum
Private Sub tmrSalto_Tick() Handles tmrSalto.Tick
tmrSalto.Interval = Location.Y + 40
Select Case salto
Case estadoSalto.Bajando
unidadesActuales = unidadesActuales - 10
Dim localizacionX As Integer = Cuadrado.Location.X + 6
Dim localizacionY As Integer = Cuadrado.Location.Y + 10
Cuadrado.Location = New Point(localizacionX, localizacionY)
If unidadesActuales = 0 Then
salto = estadoSalto.Terminado
End If
Case estadoSalto.Subiendo
unidadesActuales = unidadesActuales - 10
Dim localizacionX As Integer = Cuadrado.Location.X + 3
Dim localizacionY As Integer = Cuadrado.Location.Y - 10
Cuadrado.Location = New Point(localizacionX, localizacionY)
If unidadesActuales = 10 Then
unidadesActuales = totalUnidades
salto = estadoSalto.Bajando
End If
Case estadoSalto.Terminado
tmrSalto.Stop()
End Select
End Sub
Private Sub saltoCuadrado(unidades As unidadesSalto)
Select Case unidades
Case unidadesSalto.Setenta
totalUnidades = 70
unidadesActuales = 70
End Select
salto = estadoSalto.Subiendo
tmrSalto.Start()
End Sub
Private Sub frmPantalla_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.Space Then
If salto = estadoSalto.Terminado Then
saltoCuadrado(unidadesSalto.Setenta)
End If
End If
End Sub
End Class