Vianoce v ITnetwork sú tu! Dobí si teraz kredity a získaj až 80 % extra kreditov na e-learningové kurzy ZADARMO. Zisti viac.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

18. diel - Pohyb v Scratchi

V predchádzajúcom cvičení, Riešené úlohy k 11.-12. lekciu Scratche, sme si precvičili získané skúsenosti z predchádzajúcich lekcií.

Vo väčšine predošlých programov naše postavy iba stáli alebo urobili pár krokov nejakým smerom. Scratch nám ale ponúka oveľa viac možností pre pohyb postáv. Tie si v dnešnom tutoriále ukážeme a naučíme sa oživiť naše programy postavami, ktoré nie sú lenivé sa trochu pohnúť. Nakoniec vytvoríme hru na babu, pri ktorej využijeme bloky karty Pohyb.

Karta Pohyb

V predchádzajúcich lekciách sme sa už s niektorými blokmi z karty Pohyb stretli. To však boli iba bloky, ktoré umožňovali postavu trochu posunúť na scéne. Poďme sa bližšie pozrieť aj na ďalšie bloky, ktoré nám karta Pohyb ponúka. A naozaj ich nie je málo 🙂

Atribúty pohybu postáv

Ešte než sa pustíme do samotného popisovania blokov na karte Pohyb, musíme najprv spomenúť, ako pohyb postáv funguje. Každá postava má svoje hodnoty x, y a Směr, ktorých úpravou vytvárame ilúziu pohybu. Os X je horizontálna (pohyb zľava doprava) a os Y je vertikálna (pohyb zhora nadol). Stredom osí je bod [0;0], ktorý sa nachádza v strede okna výstupu. Smer potom udáva otočenie postavy okolo svojej osi:

Vlastnosti pohybu postavy - Scratch - Scratch

Atribútu Směr môžeme navyše nastaviť jeden z troch režimov:

  • Dookola – postava sa otáča presne podľa atribútu Směr (pokojne aj hore nohami),
  • Vľavo/vpravo – postava sa otáča doľava alebo doprava,
  • Neotáčať – postava stále pozerá na východiskovú pozíciu a atribút Směr ignoruje:
.<> Možnosti otáčania postavy - Scratch - Scratch

Hodnoty x, y a Směr môžeme tiež meniť ručne prepisovaním hodnôt pod výstupom programu:

Zmena atribútov ručne - Scratch - Scratch

Pohyb postáv budeme však vo väčšine prípadov chcieť zaistiť programovo, teda za behu programu. Poďme sa teda teraz pozrieť, aké bloky nám k rozpohybovaniu postáv pomôžu 😉

Blok dopredu o krokov

Tento blok zaistí, že sa postava posunie smerom, ktorým je natočená o zadaný počet krokov. Počet krokov sa rovná počtu bodov na osi x:

Blok dopredu o krokov - Scratch - Scratch

Bloky otoč sa

Na otočenie postáv máme k dispozícii dva bloky. Tie otočia našu postavu buď v smere, alebo proti smeru hodinových ručičiek o zadaný počet stupňov:

Blok otoč sa o stupňov - Scratch - Scratch

Bloky skoč a šmýkaj

Blokom skoč na premiestnime postavu, zmeníme jej teda hodnoty osi X a Y. Novú pozíciu môžeme nastaviť ako náhodnú, určiť ju ukazovateľom myši alebo zadáme konkrétne súradnice:

Blok skoč na - Scratch - Scratch

Blok šmýkaj funguje podobne. Postava sa dá do pohybu v ústrety náhodným hodnotám, ukazovateľom myši alebo presne zadaným súradniciam. Ide o postupné presúvanie na určené miesto, pri ktorom navyše zadávame, ako dlho má trvať:

Blok šmýkaj sekúnd na - Scratch - Scratch

Blok nastav smer

Tu meníme otočenie postavy (hodnotu Směr). Nový smer určíme ukazovateľom myši alebo inou postavou, pokiaľ ich máme v projekte viac. Ďalej môžeme zadať presný počet stupňov otočenia:

Blok nastav smer - Scratch - Scratch

Bloky zmeň/nastav x/y

Blok zmeň o vezme aktuálnu hodnotu x alebo y a pripočíta/odčí­tajte zadanú hodnotu. Blok nastav na vezme aktuálnu hodnotu a prepíše ju zadanou hodnotou:

Blok nastav/zmeň x/x - Scratch - Scratch

Blok keď narazíš na okraj, odraz sa

Blok zaistí, že naša postava nezajde mimo obraz, ktorý vidíme. Ak sa dotkne okraja, otočí sa smerom, odkiaľ prišla a zostane tu stáť:

Blok keď narazíš na okraj, odraz sa  - Scratch - Scratch

Blok nastav otáčanie

Posledným blokom programovo nastavíme jeden z troch režimov atribútu Směr, o ktorých sme si hovorili vyššie:

Blok nastav otáčania - Scratch - Scratch

Premenné x, y a směr

V spodnej časti karty Pohyb nájdeme ešte premenné s hodnotami atribútov pre danú postavu:

Premenné x, y, smer - Scratch - Scratch

Hra na babu

Poďme si teraz vytvoriť sľubovanú hru na babu. Po spustení hry klikneme na postavu (mačičiaka) a ten nás bude naháňať, tj bude sa snažiť dobehnúť kurzor našej myši. Keď nás chytia, bude rad na nás. Pretože je ale myš veľmi rýchla, bude sa náš mačičák teleportovať na náhodné miesta. My sa potom naň budeme snažiť kliknúť. Tým mu zase babu vrátime.

Ak by niekto namietal, že sa mačky neteleportujú, tak na to odpoviem, že väčšinou ani nehovoria. Spomeňme si, čo všetko už náš mačičák predtým dokázal 🙂

Začneme klasicky štartovým blokom, za ktorý umiestnime blok čakaj kým nenastane. Z karty Vnímanie si požičiame blok dotýkaš sa? a nastavíme mu hodnotu na ukazatele myši. Ďalej pridáme blok myš stlačená?. Oba vložíme do bloku a z karty Operátory. Celú podmienku pridáme do bloku čakaj kým nenastane:

.<> Začiatok hry na babu - Scratch - Scratch

Potom si vezmeme cyklus opakuj stále a do neho vložíme dva bloky opakuj kým nenastane. To celé nalepíme k predchádzajúcim blokom:

Hlavný cyklus hry na babu - Scratch - Scratch

Prvý vnorený cyklus bude obsahovať podmienku dotýkaš sa ukazovateľa myši? a do druhého cyklu pridáme rovnakú podmienku, ako ich v bloku čakaj kým nenastane na začiatku programu. Pomocou bloku av nej teda spojíme bloky dotýkaš sa? a myš stlačená?:

Hlavný cyklus hry na babu s podmienkami  - Scratch - Scratch

Do prvého vnoreného cyklu za seba nalepíme bloky nastav smer k s hodnotou ukazateli myši a šmýkaj sekúnd na s hodnotami 1 (sekunda) a ukazatel myši:

Telo prvého podcykla - Scratch - Scratch

Do druhého vnoreného cyklu vložíme bloky skoč na s hodnotou náhodná pozice a čakaj sekúnd s hodnotou .5:

Telo druhého podcykla  - Scratch - Scratch

Ak chceme mať hru o niečo zložitejšie alebo jednoduchšie, môžeme v blokoch šmýkať sekúnd na a čakaj sekúnd hodnoty zväčšiť alebo zmenšiť 😉

Medzi cyklami ešte vložíme blok skoč na s hodnotou náhodná pozice:

Blok medzi cyklami - Scratch - Scratch

Nad každý cyklus potom umiestnime bublinu sekúnd s textami Mám babu. a A teď ji máš ty.:

Doplnenie textov a dokončenie programu  - Scratch - Scratch

Program máme hotový. Keď ho spustíme a klikneme na mačičiaka, začne s nami hrať na babu:

Hra na babu - Scratch - Scratch

Celý kód hry na babu je ako vždy na stiahnutie pod článkom 🙂

V nasledujúcom kvíze, Kvíz - Zvuky, scéna a kostýmy v Scratchi, si vyskúšame nadobudnuté skúsenosti z predchádzajúcich lekcií.


 

Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 7x (42.59 kB)
Aplikácia je vrátane zdrojových kódov v jazyku Scratch

 

Predchádzajúci článok
Riešené úlohy k 11.-12. lekciu Scratche
Všetky články v sekcii
Scratch
Preskočiť článok
(neodporúčame)
Kvíz - Zvuky, scéna a kostýmy v Scratchi
Článok pre vás napísal PDoctor
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Aktivity