5. Hahmon ohjelmoiminen – Event sheet
![c8_15.png](https://peda.net/joensuu/yl%C3%A4koulut/pyh%C3%A4sel%C3%A4n-koulu/oppiaineet/tietotekniikka/cp3/peli-8-hyppy-ukko/5hoes/c8_15-png:file/photo/6fc91b568699ac8fea2c457abe4a32a08bfba789/c8_15.png)
Ohjelmoidaan ensin pelihahmon ukko: hyppy, liikkuminen oikealle ja vasemmalle, niin että samalla käynnistyy haluttu animaatio.
- Paina Add event.
- Valitse Keyboard ja paina Next.
- Valitse kohdasta Keyboard komento: Key is down ja paina Next.
- Paina nyt nuolinäppäin ylös, jolloin ilmestyy teksti: Key: Up arrow. Paina lopuksi Done.
- Paina Add action.
- Valitse Ukko ja paina Next.
- Valitse kohdasta Animations toiminto: Set animation ja paina Next.
- Lisää kohtaan Animation se animaatio, joka käynnistetään eli täydennä kohdat: Animation: ”Hyppy”, From: beginning. Lopuksi kuittaa valinta painamalla Done.
Olet nyt luonut toiminnon, jossa pelihahmo hyppää ylöspäin ja samalla hyppy animoidaan. Lopputulos näyttää tältä.
![c8_18.png](https://peda.net/joensuu/yl%C3%A4koulut/pyh%C3%A4sel%C3%A4n-koulu/oppiaineet/tietotekniikka/cp3/peli-8-hyppy-ukko/5hoes/c8_18-png:file/photo/9d23add743d35b8b4a6a23de14850b8dd3faf7cf/c8_18.png)
Samalla tavalla luo komennot, joka käynnistää animaation: ”Oikealle”, kun painetaan nuoli oikealle ja käynnistää animaation: ”Vasemmalle”, kun painetaan nuoli vasemmalle. Komentojen pitäisi näyttää nyt tältä.
Laitetaan seuraavaksi Hissi1:n (ruskea palkki) liikkumaan tulimeren yli. Tällöin Hissi1:n x-koordinaatti vaihtelee 450:stä 1350:een.
Sovitaan, että Hissi1:llä on muuttuja nimeltään: suunta1. Kun suunta1-muuttuja saa arvon 0, niin Hissi1:n menee oikealle. Kun suunta1-muuttuja saa arvon 1, niin Hissi1:n menee vasemmalle. Perustetaan globaali-muuttuja painamalla työpöydällä hiiren oikeaa painiketta ja avautuvasta valikosta otetaan komento: Add global variable. Laita seuraavat arvot: Name: suunta1, Type: Number, Initial value: 0 ja paina OK.
Tehdään ensin komento: Kun suunta1 on yhtä suuri kuin 0, niin liikuta Hissi1:stä oikealle eli kulman 0° suuntaan.
- Paina Add event.
- Valitse System ja paina Next.
- Valitse kohdasta Global & local variables komento: Compare variable ja paina Next.
- Laita asetukset: Variable: suunta1, Comparison: = Equal to, Value: 0 ja paina Done.
- Paina Add action.
- Valitse Hissi1 ja paina Next.
- Valitse kohdasta Size & Position komento: Move at angle ja paina Next.
- Laita asetukset: Angle: 0, Distance: 1 ja paina Done. Jos kulma on 0, niin mennään oikealle. Jos kulma on 180, niin mennään vasemmalle. Jos kasvatat Distance- kohdan arvoa, niin hissi liikkuu nopeammin.
Hissi1 liikkuu siis oikealle (kulma on 0), kun muuttujan suunta1 arvo on yhtä suuri kuin 0. Komento on tällöin muotoa.
![c8_22.png](https://peda.net/joensuu/yl%C3%A4koulut/pyh%C3%A4sel%C3%A4n-koulu/oppiaineet/tietotekniikka/cp3/peli-8-hyppy-ukko/5hoes/c8_22-png:file/photo/ee746a7afba69b733056781bc5dd9a723c429628/c8_22.png)
Samalla tavalla tee komento: Kun suunta1 on yhtä suuri kuin 1, niin liiku vasemmalle eli suuntaan 180°. Komento on tällöin muotoa.
Luodaan seuraavaksi ehto: Kun hissin vaakasuuntainen koordinaattipiste ( = X) on alle 450, niin muuta suunta1 arvoon 0 eli oikealle. Komento tehdään seuraavasti.
- Paina Add event.
- Valitse Hissi1 ja paina Next.
- Valitse kohdasta Size & position komento: Compare X ja paina Next.
- Laita asetukset: Comparison: < Less than, X co-ordinate: 450 ja paina Done.
- Paina Add action.
- Valitse System ja paina Next.
- Valitse kohdasta Global & local variables komento: Set value ja paina Next.
- Laita asetukset: Variable: suunta1, Value: 0 ja paina Done.
Lopputulos näyttää tältä. Eli kun Hissi1:n arvo X:n arvo on alle 450, niin vaihda suunta1:n arvoksi 0 eli oikealle.
![c8_24.png](https://peda.net/joensuu/yl%C3%A4koulut/pyh%C3%A4sel%C3%A4n-koulu/oppiaineet/tietotekniikka/cp3/peli-8-hyppy-ukko/5hoes/c8_24-png:file/photo/2a0848e42596a1c29ff13a2c76938f9c0f09d1d5/c8_24.png)
Vastaavalla tavalla tee komento: Kun Hissi1:n X:n arvo on yli 1350, niin vaihda suunta1:n arvoksi 1 eli vasemmalle.
Nyt hissin pitäisi toimia oikein eli mennä edes takaisin arvojen 450 ja 1350 välillä. Tarvitsemme lisäksi kaksi vaakasuuntaista hissiä lisää. Järkevintä on tehdä Hissi1:stä klooni eli paina hiiren oikeaa painiketta Hissi1:n päällä ja avautuvasta valikosta valitse komento: Clone object type.
Kloonaa Hissi1:stä kaksi kopiota ja nosta hissit Hissi2 ja Hissi3 paikoilleen.
Hissi2:sta varten tarvitsemme lisäksi uuden globaalin muuttujan suunta2 ja Hissi3:sta varten tarvitsemme uuden globaalin muuttujan suunta3. Anna myös näille alkuarvot 0. Eli yhteensä sinulla pitäisi olla nyt kolme globaalia muuttujaa.
Voit tehdä kopioita (CTRL+C, CTRL+V) komennoista 4,5,6 ja 7 ja muokata ne sopiviksi Hissi2:lle ja Hissi3:lle. Muokkauksen jälkeen Hissi2:n komennot ovat seuraavanlasia.
Ja Hissi3:n komennot ovat seuraavanlaisia.
Sinulla voi olla hieman erilainen karttapohja ja tarkat kääntöpaikat (X:n arvot) selviävät kokeilemalla ja pelaamalla.
Tehdään seuraavaksi komento, jossa joka 10:s sekunti putoaa uusi tynnyri. Komento on seuraavanlainen.
- Paina Add event.
- Valitse System ja paina Next.
- Valitse kohdasta Time komento: Every X seconds ja paina Next.
- Laita asetus: Interval (seconds): 10 ja paina Done.
- Paina Add action.
- Valitse KlooniPortti ja paina Next.
- Valitse kohdasta Misc komento: Spawn another object ja paina Next.
- Napsauta hiirellä kohtaa: Object: <click to choose> ja valitse Tynnyri ja paina OK.
- Laita siis asetukset: Object: Tynnyri, Layer: 0, Image point: 0 ja paina Done.
Eli joka 10:s sekunti tehdään KlooniPortissa uusi klooni tynnyristä, jolloin komento näyttää nyt tältä.
Kun tynnyri putoaa alla olevaan tulimereen, niin tynnyri on poistettava pelistä. Komento tähän on seuraava.
- Paina Add event.
- Valitse Tynnyri ja paina Next.
- Valitse kohdasta Collisions komento: Collisions with another object ja paina Next.
- Napsauta hiirellä kohtaa <click to choose> ja valitse Tuli ja paina OK. Lopuksi kuittaa valinnat painamalla Done.
- Paina Add action.
- Valitse Tynnyri ja paina Next.
- Valitse kohdasta Misc komento: Destroy ja paina Done.