Título: key (press/down) Publicado por: xXnewbieXx en 4 Junio 2006, 20:20 pm :-\ 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 :( Título: Re: key (press/down) Publicado por: Grimble Grumble en 5 Junio 2006, 06:42 am Yo lo usaba asi
Código: 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 ! Título: Re: key (press/down) Publicado por: xXnewbieXx en 5 Junio 2006, 17:09 pm 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 ;)
Título: Re: key (press/down) Publicado por: LuckyMonkey en 5 Junio 2006, 19:01 pm 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
Título: Re: key (press/down) Publicado por: xXnewbieXx en 6 Junio 2006, 17:18 pm :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:
Citar 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. Título: Re: key (press/down) Publicado por: Grimble Grumble en 10 Junio 2006, 08:14 am 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 ! |