Harjoitustehtävä 11


Tässä harjoitustehtävässä harjoitellaan sprite-komponenttien erilaisten liikeratojen ohjelmoimista

Esimerkkisovelluksesa on kaksi koripallon- ja kaksi jalkapallon näköistä Sprite-komponenttia. Yhteensä tarvitset siis neljä kappaletta Sprite-komponentteja ja tietysti yhden Canvas-komponentin, jossa Sprite-komponentit liikkuvat. Esimerkkisovellus on toteutettu vaaka-mallisena (Landscape-asetus Screen1-ominaisuuksissa). Tarvitset lisäksi Designerissa liikkeen mahdollistavan Clock-komponentin.

Säädä heti alussa Canvas-komponentin koko laitteen ruudun leveyden ja korkeuden mukaisiksi.

Esimerkkisovelluksessa liike on toteutettu matematiikasta tutuilla tavoilla

Paraabelin mallisen käyrän sovittaminen omaan ruutuun sopivaksi vaatii runsaasti hienosäätöä. Tässä hienosäädössä auttaa mainiosti GeoGebra-ohjelma. Tutki tämän GeoGebra-demonstraation säätimien avulla kertoimien a, b ja c vaikutuksia toisen asteen polynomifunktion kuvaajaan JA SÄÄDÄ OMAAN RUUTUKOKOON SOPIVA KUVAAJA. Mikäli käyrän halutaan piirtyvän usealla laitteella, on parametrien arvot laskettava ruudun leveyden ja korkeuden avulla ohjelmassa. Kysy tästä opettajalta (tai googlelta) lisää jos kiinnostaa.

Sini- ja kosinifunktioiden mukaan kulkevan liikkeen animointi on helpompaa, kuten huomaat alla olevasta esimerkkisovelluksen koodipalikoista.

Piirtämisen idea on tuttu muun muassa MAA4-kurssilta: Piste on käyrällä, jos se toteuttaa käyrän yhtälön. Objektin x-koordinaatti muuttuu kunkin Spriten osalta esimerkissä lineaarisesti (koripalloissa x-koordinaatti kasvaa vakioluvulla ja jalkapalloissa vastaavasti vähenee vakioluvulla). Y-koordinaatti sen sijaan lasketaan x-koordinaatin ja halutun käyrän yhtälön avulla.

Esimerkkisovelluksessa jalkapallot “lentävät” vasemmalle ja koripallot “leijailevat” oikealle. Kun Spritet törmäävät Canvas-komponentin rajoihin palautetaan koripallot vasempaan laitaan ja jalkapallot oikeaan laitaan:

Tee esimerkistä oma versiosi ja toteuta siihen pelillisiä elementtejä (Törmäykset, äänet, ohjailu?)!