Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Visual Basic 6.0 liikuttelua

Djonih [28.06.2002 12:45:51]

#

Mulla on tämmönen koodinpätkä mutta siinä ei voi oikein hyvin liikkua kaksi kerrallaan... miten tämä hoituisi?
Neuovoja pliis...
Private Sub form_keydown(keycode As Integer, shift As Integer)
If keycode = vbKeyUp Then
kuva.Top = kuva.Top - 100
ElseIf keycode = vbKeyDown Then
kuva.Top = kuva.Top + 100
ElseIf keycode = vbKeyLeft Then
kuva.Left = kuva.Left - 100
ElseIf keycode = vbKeyRight Then
kuva.Left = kuva.Left + 100
ElseIf keycode = vbKeyQ Then
End
ElseIf keycode = vbKeyW Then
kuva2.Top = kuva2.Top - 100
ElseIf keycode = vbKeyS Then
kuva2.Top = kuva2.Top + 100
ElseIf keycode = vbKeyA Then
kuva2.Left = kuva2.Left - 100
ElseIf keycode = vbKeyD Then
kuva2.Left = kuva2.Left + 100
End If
End Sub

Miten ton sais niin että ne liikkuis myös yhtäaikaa?
Tiedän sen virheen kyllä... Kun ne on semmosia Elseif juttuja... Eli jos näppäin = ylös niin liiku kuva1 ylös
muutoinjos näppäin = w niin liiku kuva2 ylös
siis se ei pitäs olla muutoinjos vaan joku muu...
Toivottavasti tajusitte ja osaatte auttaa...

Antti Laaksonen [28.06.2002 13:58:09]

#

Tarvitset ensinnäkin näppäinkäsittelijän, joka pitää taulukkoa painettuna olevista näppäimistä. Sellaisen löydät esimerkiksi tuolta:

https://www.ohjelmointiputka.net/koodivinkit/23436-vb6-näppäimistökäsittelijä

Sitten luo uusi Timer (Timer1), laita Intervalliksi esimerkiksi 60 (~1000/18) ja kirjoita siihen rivejä seuraavaan tapaan:

If Nappaimet(vbKeyUp) Then
kuva.Top=kuva.top-50
ElseIf Nappaimet(vbKeyDown) Then
kuva.Top=kuva.top+50

...

ElseIf Nappaimet(vbKeyQ) Then
End
ElseIf Nappaimet(vbKeyW) Then
kuva2.top=kuva2.top-50
Elseif Nappaimet(vbKeyS) Then
kuva2.top=kuva2.top+50

...

End if

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta