Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: pelin teko

tuomas [30.12.2003 13:47:02]

#

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ä.

Antti Laaksonen [30.12.2003 14:58:30]

#

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 Sub

Mitä 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.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta