key (press/down)

Iniciado por xXnewbieXx, 4 Junio 2006, 20:20 PM

0 Miembros y 1 Visitante están viendo este tema.

xXnewbieXx

 :-\ 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 :(
Hardware: Lo que golpeas. Software: La causa

Error 943 - El sistema esta funcionando demasiado bien, se caerá para seguir con la rutina...

Grimble Grumble

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 !
A gnome named Grimble Grumble
And little gnomes stay in their homes
Eating, sleeping, drinking their wine...

xXnewbieXx

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 ;)
Hardware: Lo que golpeas. Software: La causa

Error 943 - El sistema esta funcionando demasiado bien, se caerá para seguir con la rutina...

LuckyMonkey

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
Mira!! detrás de ti!! un mono de tres cabezas!!

xXnewbieXx

 :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.
Hardware: Lo que golpeas. Software: La causa

Error 943 - El sistema esta funcionando demasiado bien, se caerá para seguir con la rutina...

Grimble Grumble

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 !
A gnome named Grimble Grumble
And little gnomes stay in their homes
Eating, sleeping, drinking their wine...