Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C: Painovoima

Andu [03.04.2006 14:33:36]

#

Olen tekemässä SDL:ällä pikkuista tasohyppelyä, mutta en osaa tehdä painovoimaa. Olisiko jotain ideaa miten sen toteuttaisi?

tn [03.04.2006 15:31:46]

#

Oletan että pidät kirjaa ukon sijainnista (x ja y) sekä liikkumisnopeudesta (x ja y). Sitten vaan jokaisella kierroksella vähennät (tai kasvatat riippuen siitä miten päin ajattelet y-koordinaatin) y-nopeutta gravitaation aiheuttaman kiihtyvyyden verran. Eli tyyliin

nopeus.y -= GRAVITAATIOVAKIO * KULUNUT_AIKA;

T.M. [03.04.2006 15:32:59]

#

Itse hoitelen homman tähän tyyliin:

k += 0.02;
y += k;

Andu [03.04.2006 15:50:32]

#

En ihan ymmärtänyt, eli voisiko joku selittää tarkemmin?

water flea [03.04.2006 15:53:20]

#

Laita ukollesi X- ja Y-koordinattien lisäksi myös X- ja Y-nopeus, joka lisätään tietyin väliajoin koordinaatteihin.
Painovoiman saa kun lisää Y-nopeutta sopivin väliajoin sopivan määrän.
Kuten T.M. sanoi.

Andu [03.04.2006 15:56:08]

#

Nyt tajusin ja yritän toteuttaa sen.

Edit: Kiitos! Luulin, että se on paljon monimutkaisempaa.

Vastaus

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

Tietoa sivustosta