Olen tekemässä SDL:ällä pikkuista tasohyppelyä, mutta en osaa tehdä painovoimaa. Olisiko jotain ideaa miten sen toteuttaisi?
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;
Itse hoitelen homman tähän tyyliin:
k += 0.02; y += k;
En ihan ymmärtänyt, eli voisiko joku selittää tarkemmin?
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.
Nyt tajusin ja yritän toteuttaa sen.
Edit: Kiitos! Luulin, että se on paljon monimutkaisempaa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.