:-\ toy con las neuronas fritas d tanto intentar recordar como era x eso voy a preguntar:
toy haciendo un juego muy sencillo y m falta una tonteria q no c resolverlo, al final ya no c si usar keypress o keydown.
en fin mi duda (muy posiblemente sea 1 xorrada d resolver) es q necesito q c produzca un evento si c tiene una tecla pulsada y a la vez c da a otra.
el caso en concreto es mantener la "D" pulsada y dps darle a la "W" para hacer el salto en diagonal. (spero haberme explikado)
en fin no caigo como seria la forma d hacer esto y m >:( pq lo habia exo con anterioridad y no recuerdo.
Weno si alguien m puede indikar solo la forma de como seria hacer un keydown o press con 2 pulsaciones...
un saludo y gracias spero q m ayuden pq es lo uniko k m falta :(
Yo lo usaba asi
Public der, arr, izq, aba As Boolean
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case 37
der = True
Case 38
arr = True
Case 39
izq = True
Case 40
aba = True
End Select
If der = True Then
Timer1.Enabled = True
Image1.Picture = ImageList1.ListImages(2).Picture
End If
If arr = True Then
Timer2.Enabled = True
Image1.Picture = ImageList1.ListImages(1).Picture
End If
If izq = True Then
Timer3.Enabled = True
Image1.Picture = ImageList1.ListImages(3).Picture
End If
If aba = True Then
Timer4.Enabled = True
Image1.Picture = ImageList1.ListImages(4).Picture
End If
End Sub
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case 37
Timer1.Enabled = False
Case 38
Timer2.Enabled = False
Case 39
Timer3.Enabled = False
Case 40
Timer4.Enabled = False
End Select
End Sub
Private Sub Form_Load()
Timer1.Enabled = False
Timer2.Enabled = False
Timer3.Enabled = False
Timer4.Enabled = False
End Sub
Private Sub Timer1_Timer()
Image1.Left = Image1.Left - 100
If Image1.Left <= 0 Then
Image1.Left = Image1.Left + 100
End If
End Sub
Private Sub Timer2_Timer()
Image1.Top = Image1.Top - 100
If Image1.Top <= 0 Then
Image1.Top = Image1.Top + 100
End If
End Sub
Private Sub Timer3_Timer()
Image1.Left = Image1.Left + 100
If Image1.Left >= 7080 Then
Image1.Left = Image1.Left - 100
End If
End Sub
Private Sub Timer4_Timer()
Image1.Top = Image1.Top + 100
If Image1.Top >= 7440 Then
Image1.Top = Image1.Top - 100
End If
End Sub
A los images no les des bola porq es un codigo re viejo y no tenia ganas de acomodarlo... Fijate si te sirve como idea, de todos modos hay formas mucho mas prolijas y eficientes q esta, pero estoy cansado y le mande un Copy/Paste
Saludos !
muxas gracias :D la verdad es q tuve q hacer muxisimas modifikaciones para integrarlo en mi código ( ciertamente tenia mas timer d los necesarios :P ), pero la idea m sirvió :D , gracias d nuevo ;)
Espero que sea una chorradilla de juego, porque un juego en vb y sin directx... a la que tengas unos cuantos images moviendose no se ajustará el refresh produciendo un parpadeo, a parte de la ralentización... :P
:rolleyes: logicamente no voy hacer un quake ;D ;D ;D esta claro q si uso el vb...ad+ ahora q m fijo d lo primero q dije en el 1er mensaje fue:
Citartoy haciendo un juego muy sencillo y m falta una tonteria q no c resolverlo, al final ya no c si usar keypress o keydown.
Me alegro q alla servido. Era seguro q lo ibas a tener q modificar, ese codigo lo hice cuando recien empezaba a programar ;D
Saludos !