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...
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/
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
Aihe on jo aika vanha, joten et voi enää vastata siihen.