problemas con el control de teclas
Publicado por NaxoneZ (8 intervenciones) el 28/02/2007 14:16:45
Buenas, no me registrado por falta de tiempo, pero pienso hacerlo cuando tenga un poco mas de tiempo...
Bueno la cuestión es que quiero hacer un minigame en plan mario bros, pero cuando dejas pulsada una tecla de dirección para que se mueva el picture del mario, los enemigos (controlados por timers) se quedan parados y hasta que no dejas de pulsar la tecla no responden. La cosa seria que pudieras pulsar una tecla seguidamente de direccion sin que esto afectase al timer y por tanto al movimiento de los enemigos... ya no sé que hacer si alguien se le ocurre una solución le agradeceria que me echara una mano ya que no tengo tampoco muchos conocimientos de vb xD
Y otro problema que tenia tambien es a la hora del retroceso del enemigo... que se recorre como 1000 posiciones de left en 0.1 segundos... con lo cual es imposible matarlo en ese momento..
Este es el cacho de codigo del movimiento enemigo:
If enemigo.Left = 720 Then 'max. izquierda
Do While enemigo.Left < 4400
For i = 1 To delay ' suavizar movimiento
enemigo.Left = enemigo.Left + 10 'vuelve
Next
Loop
Else
If enemigo.Left = 4400 Then
enemigo.Left = enemigo.Left - 10
Else
enemigo.Left = enemigo.Left - 10
End If
End If
End Sub
Creo que el problema es el for pero no sé ya como solucionarlo la verdad.. xD
Gracias y a ser felices :D
Bueno la cuestión es que quiero hacer un minigame en plan mario bros, pero cuando dejas pulsada una tecla de dirección para que se mueva el picture del mario, los enemigos (controlados por timers) se quedan parados y hasta que no dejas de pulsar la tecla no responden. La cosa seria que pudieras pulsar una tecla seguidamente de direccion sin que esto afectase al timer y por tanto al movimiento de los enemigos... ya no sé que hacer si alguien se le ocurre una solución le agradeceria que me echara una mano ya que no tengo tampoco muchos conocimientos de vb xD
Y otro problema que tenia tambien es a la hora del retroceso del enemigo... que se recorre como 1000 posiciones de left en 0.1 segundos... con lo cual es imposible matarlo en ese momento..
Este es el cacho de codigo del movimiento enemigo:
If enemigo.Left = 720 Then 'max. izquierda
Do While enemigo.Left < 4400
For i = 1 To delay ' suavizar movimiento
enemigo.Left = enemigo.Left + 10 'vuelve
Next
Loop
Else
If enemigo.Left = 4400 Then
enemigo.Left = enemigo.Left - 10
Else
enemigo.Left = enemigo.Left - 10
End If
End If
End Sub
Creo que el problema es el for pero no sé ya como solucionarlo la verdad.. xD
Gracias y a ser felices :D
Valora esta pregunta


0