Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Ukko hyppimään

kaviaari [28.01.2003 14:14:40]

#

Mikä olisikaan helpoin tapa tehdä pelin ukolle hyppiminen aikaiseksi eli jos paina Ylös nuolta + oikea tai vasen niin se hyppäisi hyvin! (Monta epäonnistunutta yritystä)
Kieli on VB

thefox [28.01.2003 14:45:02]

#

Tee muuttuja vertikaaliselle voimalle (vaikka vY).. defaulttina tuo olisi nolla.
Jos painetaan ylös -nuolta, iske tuohon vaikka 20. Sitten kokoajan pääloopissa damppaat tuota jollain arvolla niin että se lähenee nollaa. Eli esim: vY = vY * 0.99 Mitä pienemmällä arvolla damppaat, sitä nopeammin vY liukuu kohti nollaa.
Jos ukko koskee maata, isket tuon voiman suorilta nollaksi.. tai negatoit jos se on vaikkapa pallo jolla liikutaan ;-)
Vasen- ja oikea -systeemeissä sinun tulee päättää voiko ukkoa liikuttaa ilmassa. Todellisuudessa ei kovinkaan helppoa mutta monet pelit moisen mahdollisuuden tarjoavat.
Öh.. katso jos saisit jotain väännetyksi.. nyt ei jaksa esimerkkiä taas vaihteeksi kirjoitella...

KemXy [28.01.2003 16:05:05]

#

Kannattaa tehdä myös jonkinlainen näppäinhandleri, jos aiotaan painaa useita nappeja yhtäaikaisesti. Muistaakseni Visual Basicissa se onnistuu aika helposti :-).
Liikkumisessa voisi kokeilla myös tällaista:


Jos painetaan ylös: Nopeusylös = 20
Jos painetaan oikealle: NopeusSivuttainen = 20

Tehdään joka kerta loopissa -> jos ukko törmää johonkin:
Tormatty = 1

Jos ukko ei ole törmännyt mihinkään:
if tormatty <> 0 then
ukkox = ukkox + NopeusSivuttainen
ukkoy = ukkoy - NopeusYlös

Jos ukko on tullut maahan:
NopeusSivuttainen=0
NopeusYlös=0

Tehdään joka kerta loopissa niin kauan, kun ukko on ilmassa:
if ukkoilmassa then
Nopeusylös = Nopeusylös - 0.98 (putouskiihtyvyys)

Ilmanvastuksenkin voisi lisätä, mutta se tuskin on tarpeen.

Vastaus

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

Tietoa sivustosta