Gå til innhold

lager spill. Snake opplegg


Anbefalte innlegg

sitter å lager eit spill der eit bilde skal flytte på seg når eit anna blide kommer borti. det er "snake" opplegg. Bilde

 

men får ikkje bildet(banana) til å flytte på seg når denne fyren kommer bort. kva må eg gjere?

 

Kansje lit dårlig forklart, men om du ser på bildet blir det lettere å forstå

Lenke til kommentar
Videoannonse
Annonse

Select Case KeyCode

Case vbKeyW:

picBoy.Top = picBoy.Top - 50

Case vbKeyS:

picBoy.Top = picBoy.Top + 50

Case vbKeyA:

picBoy.Left = picBoy.Left - 50

Case vbKeyD:

picBoy.Left = picBoy.Left + 50

End Select

 

Select Case picBoy.Top

Case Is = picBanana.Top

Randomize

For i = 0 To 1

' legger til 240 fordi det er så langt inn på forma før bakgrunnen starter

picBanana.Top = (7200 * Rnd) + 240

Next i

End Select

 

har ikkje meir kode enda. problemet er vel det at eg hopper over bildet, sidan det er 50 Twip for kvar flytt. det som må til er litt "unøyaktighet" i programmet.

Lenke til kommentar

For å avgjøre om to rektangler overlapper hverandre, kan du bruke denne funksjonen:

 

Public Function Collide(XPosition1&, YPosition1&, XPosition2&, YPosition2&, BW1&, BH1&, BW2&, BH2&) As Boolean

If XPosition1 > XPosition2 - BW1 And XPosition1 < XPosition2 + BW2 And YPosition1 > YPosition2 - BH1 And YPosition1 < YPosition2 + BH2 Then
   Collide = True
End If

End Function

 

Så hvis du vil finne ut om picBoy overlapper (kolliderer) med picBanana kaller du funksjonen slik:

 

If Collide(picBoy.Left, picBoy.Top, picBanana.Left, picBanana.Top, picBoy.Width, picBoy.Height, picBanana.Width, picBanana.Height) Then

' Koden som skal gi picbanana en tilfeldig plassering skal her

End If

 

Hvis du vil at picBanana skal få en helt tilfeldig plassering kan du også bruke denne koden:

 

Randomize
picBanana.Move ((Me.Width - 240) * Rnd) + 240, ((Me.Height - 240) * Rnd) + 240

 

Denne koden tar også hennsyn til at bakgrunnen ikke starter før den kommer til piksel 240.

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...