tiistai 9. joulukuuta 2014

Lentoratoja

Kerhossa mietittiin tällä kertaa, miten esineen saisi lentämään luonnollisen näköistä rataa. On helppo laittaa hahmo etenemään suoraviivaisesti (lisäämällä sekä x- että y-koordinaattia jatkuvasti jollakin luvulla), mutta suoraviivainen eteneminen ei aina näytä luonnolliselta. Kun esimerkiksi palloa heitetään suoraan ylös, se nousee ensin nopeammin, ja nouseminen hidastuu pallon lähestyessä ratansa lakipistettä. Lakipisteestä se alkaa liikkua alaspäin kiihtyvällä vauhdilla.

Seuraava skripti lennättää palloa luonnollisen näköisessä kaaressa. Vaihtelun vuoksi pallon lähtökorkeus, -nopeus ja -suunta ovat satunnaislukuja. Skriptissä käytetään kahta muuttujaa: dx on nopeus x- eli vaakasuunnassa, ja se pysyy koko heiton aikana samana. Muuttuja dy on nopeus y- eli pystysuunnassa, ja siitä vähennetään koko ajan vakiomäärää. Tämä saa lentoradan näyttämään luonnolliselta: nopeus ylöspäin on aluksi suurempi ja hidastuu, kunnes se muuttuu negatiiviseksi, jolloin pallo alkaa kulkea alaspäin.


Ohessa ohjaajan skripti, jossa pallon tilalla on hedelmä: Lentävä meloni. Ylläolevan skriptin lisäksi tämä skripti piirtää kynätoiminnolla koko lentoradan. Jos nopeuden vaikutus on epäselvä, yksi tapa tutkia sitä on lisätä "toista kunnes" -silmukan sisään palikka "odota 1 sekunti", jolloin melonin lento on nykivämpää ja taukojen aikana ehtii katsella muuttujien dx ja dy arvoja.


Ei kommentteja:

Lähetä kommentti