Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Tasohyppely (vb6)

Sivun loppuun

Monkkats [18.04.2004 18:17:54]

#

Onnistuuko Visual Basicilla jotenkin tasohyppely-pelin teko? Kyl varmaa onnistuu, mut miten?

remontti-reiska [18.04.2004 18:19:16]

#

Onnistuu helpostikkin. Tasohyppelyitä on erilaisia. Kerrohan minkälaisen haluaisit ehdä, niin voimme kertoa.

Monkkats [18.04.2004 18:22:35]

#

Ajattelin tehä jonkunlaisen tasohyppely-pelin jossa hypittäis joittekin juttujen pääl. Liikkuis nuolinäppäimistä ja vaik shiftist vois hypätä..

rndprogy [18.04.2004 18:27:56]

#

Ja mitä olet saanut tähän asti aikaseksi. Mitä koodia olet tehnyt yms.

Monkkats [18.04.2004 18:34:04]

#

En ole edes alottanutkaan, koska en viel tiiä, että miten sais tehtyy yksinkertasen tasohyppely-pelinkää edes jossa olis vaik 2 palikkaa joiden päällä vois hyppiä nuolinäppäimillä..
Ajattelin, että alotan sen, jos nyt eka tietäisin, että miten sellanen peli on mahdollista tehdä.

remontti-reiska [18.04.2004 18:35:22]

#

Onnistuuhan tuo, mutta vaatiihan se työtä, jos aiot kunnollisen tasohyppelyn väsätä. Kerrompa nyt miten ukkeli saataisiin liikkumaan nuolinäppäimistä. Tee pictureboxi, jonka nimi on ukkeli. Formin keypreview pitää olla true. Koodi pistetään formin keydown osioon.

If keycode = vbkeyright then
ukkeli.left = ukkeli.left + 100
End If
If keycode = vbkeyleft then
ukkeli.left = ukkeli.left - 100
End if

Sitten koodi, jolla pystyy katsomaan, osuuko ukkeli hirviöön:

If ukkeli.Top < (hirviö.Top + hirviö.Height) Then
If (ukkeli.Top + ukkeli.Height) > hirviö.Top Then
If ukkeli.Left < (hirviö.Left + hirviö.Width) Then
If (ukkeli.Left + ukkeli.Width) > hirviö.Left Then

'Tähän koodi mikä toteutetaan, kun ukkeli osuu hirviöön

End If
End If
End If
End If

Hypyn saa esim. kikkailemalla IF keycode = vbkeysift then, ukkeli.top = ukkeli.top - 100 ja timereillä.

hunajavohveli [18.04.2004 21:02:36]

#

Eli ole mitään valmista selostusta, miten tehdään jonkinlainen peli. Se pitää vain itse koota eri asioista, eli ensin alat miettiä, mitä tasohyppelyssä pitää olla. No ukko, jota ohjataan nyt tietysti aluksi. Sitten voit kysellä neuvoja, miten tuollainen ukko tehdään ja miten se saadaan liikkumaan, törmäämään esineisiin yms. Mutta kukaan ei täällä rupea valmista koodia antamaan. Sellaista varten on koodivinkit, joita ei tienkään kannata omiin ohjelmiin kopioida suoraan, vaan niistä tulisi oppia soveltamaan.

Antti Laaksonen [18.04.2004 21:38:30]

#

Semmoinen vinkki alkuun, että liikkuvia pelihahmoja ei kannata pitää VB:n valmiissa kontrolleissa (PictureBox tai Image), vaan koko peliruutu on hyvä piirtää yhteen ja samaan PictureBoxiin. Liikkuvat pelihahmot eli spritet voi hyvin toteuttaa WinAPIn BitBlt-funktion avulla (ellet halua opetella DirectX:ää). Katso myös tämä opas:
https://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=spriteo

edit: Onnistuin jotenkin kopioimaan osoitteen väärin, nyt toimii!


Sivun alkuun

Vastaus

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

Tietoa sivustosta