Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: xXnewbieXx en 4 Junio 2006, 20:20 pm



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 !