Kun kuvaobjekti laitetaan "liikkumaan" timerillä
esim: image1.left=image1.left + 10 niin liike näyttää
ns. pätkivän/nykivän. Millä tavoin kuvaobjektin
saisi liikkumaan sulavasti?
Riippuu ongelman laadusta. Testaa laittaa timeri nopeammaksi ja liike pienemmäksi tai vaihtamalla .left .move :een.
Verrattain helppo tapa saada liike sulavaksi on tehdä seuraavantapainen pelisilmukka.
Sub Pelisilmukka() Dim i As Integer, a As Single For i = 0 To 1000 Step 5 Picture1.Left = i a = Timer Do While a + 0.01 > Timer DoEvents Loop Next End Sub
Esimerkissä kuvakehys liikkuu vaakasuunnassa ikkunassa. Joka liikkeen välissä on 10 millisekunnin (0,01 sekuntia) DoEvents-komennolla varustettu hidastus, jonka ansiosta ohjelma ei varaa koko prosessoritehoa itselleen. Animaation nopeuteen vaikuttavat For-silmukan askel ja hidastuksen suuruus.
En kuitenkaan suosittele PictureBox- tai Image-kontrollien käyttöä pelissä, mutta tuo edelläoleva periaate toimii myös silloin, kun kuva piirretään suoraan ikkunaan.
edit: Hauska otsikko! :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.