Olen saanut jo monta neuvoa tähän asiaan mutta en saa silti
sitä toimimaan...
Käytän visual basic kolmosta.
Miten saan tehtyä peliin palikan jonka miltään sivulta ei pääse läpi?
Tähän mennessä minulla on ollut ongelmana että palikan vierestäkään ei voi mennä.
Tässä on toimiva koodi. Laita formille kaksi PictureBoxia, joiden nimet ovat pEste ja pPelaaja. Formin KeyPreview-ominaisuuden täytyy olla True, jotta näppäinohjaus toimii kunnolla, ja formin sekä molempien PictureBoxien ScaleModen täytyy olla 3 eli Pixel.
Dim x As Integer, y As Integer
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Dim ux As Integer, uy As Integer
ux = x
uy = y
Select Case KeyCode
Case vbKeyLeft
ux = ux - 1
Case vbKeyUp
uy = uy - 1
Case vbKeyRight
ux = ux + 1
Case vbKeyDown
uy = uy + 1
End Select
If ux + pPelaaja.Width > pEste.Left And ux < pEste.Left + pEste.Width Then
If uy + pPelaaja.Height > pEste.Top And uy < pEste.Top + pEste.Height Then
Exit Sub
End If
End If
x = ux
y = uy
pPelaaja.Move x, y
End Sub
Private Sub Form_Load()
x = 0
y = 0
pPelaaja.Move x, y
End SubMitä nuo kummalliset If-lauseet sitten tekevät? Ensimmäinen tarkistaa, onko pPelaaja pEsteen sisällä vaakasuunnassa ja jälkimmäinen tarkistaa, onko pPelaaja pEsteen sisällä pystysuunnassa. Jos kummatkin ehdot ovat tosia, liikkuminen ei ole mahdollista, minkä vuoksi poistutaan aliohjelmasta.
Aihe on jo aika vanha, joten et voi enää vastata siihen.