EltoSoft Skrevet 2. juli 2003 Del Skrevet 2. juli 2003 Hei jeg er mitt oppi ett spill og lurer på om noen vet hvordan jeg skal klare og få et image til og flytterøre på seg? Er det noen som vet det? :-? Lenke til kommentar
laPANTHA Skrevet 3. juli 2003 Del Skrevet 3. juli 2003 Basic animation løses ved å XORe bildet med seg selv og tegne det på nytt litt lengre bort. Syntaksielt vet jeg ikke hvordan dette løses i VB. Lenke til kommentar
asware Skrevet 3. juli 2003 Del Skrevet 3. juli 2003 Du kan bare skrive dette i en timer: Image1.Left = Image1.Left + 10 Hvis du skal ha bildet til å gå nedover skriver du dette i en timer: Image1.Top = Image1.Top + 10 Skifter du pluss-tegnene med minus-tegn går bildet den andre veien!!!! Lenke til kommentar
dalai Skrevet 18. juli 2003 Del Skrevet 18. juli 2003 dersom dette skal være et spill antar jeg at du vil gjerne styre et bilde i forskjellige retninger. timer vil da ikke holde som løsning. da ville jeg heller brukt form_keypress metoden. denne metoden registrerer alle tastetrykk (når det gjeldende vinduet er aktivt). Deretter kan du sjekke hvilket tastetrykk som ble trykket og tegne bildet dit utifra dette. Private Sub Form_KeyPress(KeyAscii As Integer) If KeyAscii = (venstre_pilknapp) Then DrawImageLeft If KeyAscii = (høyre_pilknapp) Then DrawImageRight osv..... End Sub Lenke til kommentar
aadnk Skrevet 31. juli 2003 Del Skrevet 31. juli 2003 Hvis du virkelig vil få fart på spillet ditt vil jeg anbefale DirectX. Det er den raskeste måten å lage spill i VB på. Men du kan naturligvis bruke Windows GDI istedenfor. Du kan prøve det med å først lage en Picturebox med bildet du vil flytte. Deretter setter du .AutoRedraw = True , .Visible = False og .ScaleMode = vbPixel. Du må også sette .ScaleMode = vbPixel i formen. Så inkluderer du disse API-callene i først i koden: Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) "BitBlt" brukes til klippe inn en DeviceContex (dc eller hdc) inn til en annen. "Sleep" er bare for å bremse ned farten litt slik at spillet kjører like fort på alle pcer (nesten da). Så må denne konstanten legges inn: Private Const PATINVERT = &H5A0049 Og disse variablene: Dim X%, Y% I Form_Load Sub-en legger du inn en Do-Loop: Private Sub Form_Load() Show Do X = X + 1 Y = Y + 1 BitBlt Me.hDC, X - 1, Y - 1, Picture1.ScaleWidth, Picture1.ScaleHeight, Picture1.hDC, 0, 0, PATINVERT BitBlt Me.hDC, X, Y, Picture1.ScaleWidth, Picture1.ScaleHeight, Picture1.hDC, 0, 0, vbSrcCopy Sleep 10 DoEvents Loop Når du kjører koden vil du se bildet i picture1 bevege seg over formen. Du kan naturligvis bruke Form_KeyPress() her også, men du må skrive X = X + 1 for å bevege bilde til høyre og X = X - 1 for å bevege den til venstre osv. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå