Programozási nyelvek 1. Scratch I. – Animációkészítés
Animációk a Scratch-ben Történet
Prezentáció
Interaktív művészet
Szereplő
Szereplő alapvető tulajdonságai Szereplő1
Szereplő alapvető eseményei Szereplő1
Szereplő animálása
Példa: animáció jelmezváltással
Szülinapi képeslap
Animáció jelmezváltással Torta
jelmezváltás billentyűlenyomásra
Példa: animáció jelmezváltással
Karácsonyi képeslap
Animáció jelmezváltással Karácsonyfa
jelmezváltás folyamatosan
Példa: animáció beszéltetéssel
Találós kérdés
Animáció beszéltetéssel Róka
Kutya
a párbeszéd a két szereplő egyszerre induló, megfelelő várakozásokat tartalmazó feladataiból alakul ki
Példa: animáció mozgatással
Karácsonyi képeslap
Animáció mozgatással Hóember
mozgatás relatív helyre (jelmezváltásokkal)
a „menj ... lépést” végrehajtása pillanatszerű, ezért érdemes kisebb lépéseket ismételni
Példa: animáció mozgatással
Végtelen történet
Animáció mozgatással Űrhajó
csúsztatás abszolút helyre
Mozgatás egy szakaszon
Relatív helyre mozgatás a szereplő helyének és irányának megfelelően
Abszolút helyre mozgatás a szereplő helyétől és irányától függetlenül
A haladás pillanatszerű, ezért általában egy kis távolságú haladást ismétlünk
A haladás folyamatos
Egyszerűbb a szereplő jelmezét közben váltogatni
A szereplő jelmezének váltogatása körülményesebb (lásd folyamatok egyszerre indítása)
Szereplő animálásának parancsai Jelmezváltás
Beszéltetés
Szereplő animálásának parancsai Mozgatás
Szereplő animálásának parancsai Megjelenítés vagy eltüntetés/grafikus hatások/átméretezés
Szereplő animálásának parancsai Perifériás események/várakoztatás és számlálós ciklus
Szereplők szinkronizálása
Példa: másik szereplő felszólítása
Karácsonyi képeslap
Másik szereplő felszólítása Üzenet
Karácsonyfa
Felirat
Villog
Megjelenik
Másik szereplő felszólítása Karácsonyfa
Felirat
a másik felszólítása
Másik szereplő felszólítása Probléma Esetenként egy szereplőnek akkor kell cselekednie, amikor egy másik szereplő valamely feladatának végrehajtása egy adott pontnál tart
Megoldás A megfelelő végrehajtási pontban üzenetet kell küldeni a cselekvésre váró szereplő részére
Példa: egymás utáni folyamatok
Találós kérdés
Egymás utáni folyamatok
Róka
Kérdez
Vár
Kutya
Vár
Gondolkodik
Válaszol
Egymás utáni folyamatok Róka
Kutya
a párbeszéd a két szereplő egyszerre induló, megfelelő várakozásokat tartalmazó feladataiból alakul ki
Példa: egymás utáni folyamatok
Végtelen történet
Egymás utáni folyamatok Üzenet
Űrhajó
Macska
Landol
Kiszáll és sétál
Egymás utáni folyamatok Űrhajó
Macska
Egymás utáni folyamatok Probléma Esetenként két szereplő tevékenysége időben egymást kell, hogy kövesse, de nem illeszthetők egyetlen szekvenciába.
Megoldás Ha tudjuk az első tevékenység időtartamát, indítsuk el a második tevékenységet az elsővel egyszerre úgy, hogy egy megfelelő időtartamú várakozással kezdjük. Így nem szükséges üzenetet küldeni. Ha az első tevékenység időtartama nem egyértelmű, akkor az első tevékenység végén üzenetküldéssel kell felszólítani a másik szereplőt.
Példa: folyamatok egyszerre indítása
Találós kérdés
Folyamatok egyszerre indítása
Róka
Beszél
Kutya
Beszél
Folyamatok egyszerre indítása Róka
Kutya
a párbeszéd a két szereplő egyszerre induló, megfelelő várakozásokat tartalmazó feladataiból alakul ki
Példa: folyamatok egyszerre indítása
Végtelen történet
Folyamatok egyszerre indítása Üzenet
Űrhajó
…
Beszél
Csúszik
Összezsugorodik
Folyamatok egyszerre indítása Űrhajó
az űrhajónak egyszerre kell csúsznia és összezsugorodnia, de nem eseményhez kötődően
Folyamatok egyszerre indítása Üzenet
Macska
Sétál
Beszél
Pico
Beszél
Folyamatok egyszerre indítása Macska
a párbeszédnek nem valamely eseménykor kell elindulnia
Pico
Folyamatok egyszerre indítása Probléma Esetenként egy szereplőt érintő több folyamatnak vagy több szereplő folyamatainak egyszerre kell elindulnia
Megoldás Ha az elindulás egy eseményhez kapcsolható, akkor az esemény bekövetkezésekor indítjuk el a folyamatokat Ha az elindulás nem kapcsolható eseményhez, akkor a programvégrehajtás megfelelő pontján üzenetet küldünk, és a folyamatokat az üzenet érzekésekor indítjuk el
Példa: több jelenet
Végtelen történet
Több jelenet Űrhajó
Bolygó
…
„Bolygó” háttér beállítása
…
Megjelenik
Eltűnik
Macska
Eltűnik
Megjelenik
…
Pico
Eltűnik
Megjelenik
…
Eltűnik
Megjelenik
…
Laptop
Játéktér
„Csillagok” háttér beállítása
Több jelenet Játéktér
Űrhajó jelenet indulása
első jelenet indítása
a projekt két jelenete: csillagok és bolygó
inicializálás
Több jelenet Űrhajó
következő jelenet indítása
Több jelenet Űrhajó jelenet indulása
inicializálás
Több jelenet Bolygó
Laptop
inicializálások
a Bolygó csak az első, a Laptop csak a második jelenetben szerepel
Több jelenet Macska
inicializálások a Macska csak a második jelenetben szerepel
Több jelenet Probléma Egy történet különböző jeleneteiben eltérő szereplőket vagy ugyanazon szereplőket máshogyan szeretnénk használni, azonban nem hozhatók létre külön játékterek azokhoz tartozó külön szereplőkkel
Megoldás A különböző jelenetekhez különböző háttereket rendelünk (még akkor is, ha néhány jelenetnek azonos kinézetű a háttere), és a megfelelő háttérre váltás eseményekor indítjuk el a jelenet történéseit
Több jelenet Egy jelenet történései 1. Inicializálás (a szereplők eltüntetése-megjelenítése, más tulajdonságok beállítása) 2. Lényegi történések 3. Következő jelenet indítása (a hozzá tartozó háttér beállítása) vagy a projekt befejezése
Az első jelenetet a zászlóra kattintáskor kell elindítani (a hozzá tartozó hátteret beállítani)
Szereplők szinkronizálásának parancsai Üzenetküldés/háttér beállítása
Várakozás felhasználói beavatkozásra
Példa: várakozás felhasználói beavatkozásra
Prezentáció
Várakozás felhasználói beavatkozásra Előadó
kattintásra várakozás
Várakozás felhasználói beavatkozásra Várakozás billentyűlenyomásra vagy kattintásra
További példák Prezentáció
Történet
Interaktív művészet
Előadás vége