Tässä harjoitustehtävässä luodaan OMA VERSIO seuraavasta yksinekrtaisesta pelistä. Pelin ideana on tökkiä ruudulla näkyvää objektia (sprite-komponentti) kunnes kyseinen objekti koskettaa jotain ruudun (canvas-komponentti) laitaa. Objekti liikkuu hieman satunnaiseen suuntaan aina kun sitä kosketetaan. Esimerkiksi:
Tässä harjoitustehtävässä tarvitaan seuraavat komponentit (Designer)
- Sprite (objekti joka liikkuu)
- Canvas (alue, jossa objekti liikkuu)
- Label-komponentit tökkäysten määrälle ja high scorelle, sekä painikkeet uudelle pelille ja sovelluksesta poistumiselle
- TinyDB -tietokantakomponentti, jonne tallennetaan high score (pysyy muistissa vaikka sovellus suljetaan!)
- Notifier -komponentti joka ilmoittaa pelin päätyttyä tuloksen
Objekti saat itse päättää objektin grafiikasta. Voit käyttää Googlen kuvahakua sopivien objektien etsimiseen. Valitse kuvahaun asetuksista “vapaasti käytettävissä / muokattavissa” ja varmista kuvan tiedoista että kuva on vapaasti käytettävissä. Volit etsiä vapaasti käytettäviä kuvia myös täältä.
Pelissä tarvitaan kaksi globaalia muuttujaa: tökkäysten määrä ja highscore.
Sovelluksen käynnistyessä haetaan tietokannasta High Score (jos arvoa ei löydy, on highscore alussa 100), sekä asetetaan tekstit Tökkäysten määrä -ja highscore labeleihin. Tietokanta toimii tagin (avainsana) ja sitä vastaavan arvon avulla. Esimerkissä tagia “maxtulos” vastaava arvo on high score -luku.
Kun objektia (ImageSprite1) klikataan, liikkuu se satunnaiseen suuntaan, ei kuitenkaan liian kauas alkuperäisestä paikastaan. Samalla tokkaystenMaara -muuttujan arvoa täytyy kasvattaa yhdellä.
Kun objekti “törmää” kuva-alueen (Canvas) reunaan, peli päättyy ja tulostetaan ilmoitus.
Myös painikkeiden (aloita alusta / lopeta) toiminnallisuus täytyy ohjelmoida.
Lisätehtävä: Pelin äänisuunnittelu
Pelistä saadaan huomattavasti vaikuttavampi ja paremmin tunteisiin vetoava lisäämällä peliin musiikkia ja ääniefektejä. Voit etsiä omaan projektiisi sopivaa musiikkia ja ääniefektejä esimerkiksi osoitteesta https://www.freesound.org/ (vaatii rekisteröitymisen). Sivuilta löytyy paljon käyttäjien lataamia Creative Commons -lisensoituja (enemmän tai väjhemmän vapaaseen käyttöön tarkoitettuja) ääninäytteitä. Tarkista aina ennen lataamista ääninäytteen käyttöehdot (Creative Commons -lisenssien erot).
Tarvitset Designerissa:
Sound -komponentin jokaiselle ääninäytteelle, sekä Player-komponentin (/komponentteja) JOS joidenkin äänien täytyy soida sovelluksessa samaan aikaan (esim. musiikille oma Player-komponentti).