Programozási nyelvek 1. Scratch I. Animációkészítés
A nyelv története A Lifelong Kindergarten csoport fejleszti az MIT-n Scratch 1. (2007) csak offline változat Scratch 2. (2013) Saját parancsok (eljárások) Klónozás Vektorgrafika A Scratch 1. egy korai változata
A nyelv jellemzői Eseményvezérelt Objektum alapú» A szereplők saját tulajdonságokkal és eseménykezelő feladatokkal rendelkeznek» A szereplők klónozhatók Definiálhatók új parancsok (akár rekurzívak) (de függvények nem) Használhatók elemi változók, illetve listák, amelyek (valós) számokat és szövegeket is (vegyesen) tartalmazhatnak Multimédiás támogatás» Pixel- és vektorgrafikus képek» Hangok» MIDI-hangszerek» webkamera» kapcsolódási lehetőség robotokhoz (LEGO, Arduino)
Az együttműködés lehetőségei A projektek az online felhasználói felületen készíthetők el (de van offline változat is) és a honlapon le is játszhatók. Kezdetben nincsenek megosztva, de megoszthatók. A megosztott projektek kódja minden felhasználó számára nyilvános és a módosítását remixként elmenthetik. A kódot mindenki a saját anyanyelvén látja (ha a megfelelő fordítás létezik). Létrehozhatók műhelyek, amelyekben a meghívott felhasználók elhelyezhetik projektjeiket.
Szereplő1 A szereplő alapvető tulajdonságai és eseményei + láthatóság (nem lekérdezhető)
Egyszerű interaktív animációk
Jelmezváltás billentyűlenyomásra Szempár jelmezváltás billentyűlenyomásra Emodzsikészítő
Animáció folyamatos jelmezváltással Csengő Interaktív karácsonyi képeslap animáció folyamatos jelmezváltással
Dallam létrehozása ismétlésekkel Magnó Interaktív karácsonyi képeslap
A másik szereplő felszólítása Tovább gomb Diavetítő
A másik szereplő felszólítása Játéktér Diavetítő
A példaprogram további feladatai Játéktér Elejére gomb
A másik szereplő felszólítása A másik szereplő felszólítása 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.
Az egyszerű interaktív animációk parancsai Jelmezváltás Beszéltetés
Az egyszerű interaktív animációk parancsai Megjelenítés vagy eltüntetés/grafikus hatások/átméretezés
Az egyszerű interaktív animációk parancsai Hang és zene
Az egyszerű interaktív animációk parancsai Perifériás események/várakoztatás és számlálós ciklus
Üzenetküldés Az egyszerű interaktív animációk parancsai
Egyjelenetes animációk
Egy jelenet lépésekre bontása Elvira Berohan Párbeszéd Bálint Párbeszéd Csók Valentin-napi képeslap Felirat Megjelenik Játéktér
Egy jelenet lépésekre bontása Egy jelenet lépésekre bontása Egy jeleneten belül gyakori, hogy két szereplő tevékenységének időben egymást kell követnie. Megoldás Ha tudjuk az első tevékenység időtartamát, elindíthatjuk a második tevékenységet az elsővel egyszerre úgy, hogy egy megfelelő időtartamú várakozással kezdjük. Ha az első tevékenység időtartama nem egyértelmű, a két tevékenységre egymás után szólíthatja fel a szereplőket a Játéktér várakozásos ( küldj üzenetet és várj ) üzenete. Így két lépésre bontjuk a jelenetet. Megjegyzés: az első szereplő is felszólíthatja üzenet küldésével a másodikat, a nagy számú üzenetküldések ilyen láncolata azonban nehezebben áttekinthető a Játéktér szekvenciális üzenetküldéseinél.
Egy jelenet lépésekre bontása Játéktér Valentin-napi képeslap lépésekre bontás
Mozgatás egy szakaszon Elvira Valentin-napi képeslap mozgatás két pont között (folyamatos jelmezváltással)
Mozgatás egy szakaszon Relatív helyre mozgatás a szereplő helyének és irányának megfelelően A haladás pillanatszerű, ezért általában egy kis távolságú haladást ismétlünk Egyszerűbb a szereplő jelmezét közben váltogatni Abszolút helyre mozgatás a szereplő helyétől és irányától függetlenül A haladás folyamatos A szereplő jelmezének váltogatása körülményesebb (lásd folyamatok egyszerre indítása)
Párbeszéd Elvira Bálint a párbeszéd a két szereplő egyszerre induló, megfelelő várakozásokat tartalmazó feladataiból alakul ki
Párbeszéd Párbeszéd Az animációk gyakori eleme a párbeszéd, amely esetén a szereplők megszólalásait kell időben összehangolni. Megoldás Tudjuk az egyes tevékenységek (ti. a megszólalások) időtartamát, ezért az animáció (további) lépésekre bontása helyett a meghatározott időtartamú várakozások beiktatása az egyszerűbb.
A példaprogram további feladatai Bálint Felirat
Mozgatás Az egyjelenetes animációk új parancsai
Többjelenetes animációk
Történet jelenetekre bontása Űrhajó Bolygó Megjelenik Eltűnik Végtelen történet Macska Eltűnik Megjelenik Pico Eltűnik Megjelenik Laptop Eltűnik Megjelenik Játéktér
Történet jelenetekre bontása Játéktér Végtelen történet a két jelenetet a történet végtelenítése miatt ismételjük
Történet jelenetekre bontása Történet jelenetekre bontása 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 rendelhetü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 jelenetet. A jelenetek elején a szereplőket inicializálni kell (többek között megjeleníteni vagy elrejteni). A jelenetek továbbra is lépésekre bonthatók.
A jelenetek lépésekre bontása Űrhajó Végtelen történet inicializálás
A jelenetek lépésekre bontása Egy szereplő tevékenységeinek egyszerre indítása Űrhajó Végtelen történet párhuzamos feladatok
Egy szereplő tevékenységeinek egyszerre indítása Egy szereplő tevékenységeinek egyszerre indítása Esetenként egy szereplő több tevékenységét egyszerre kell elindítani. Megoldás Ha a tevékenységeket egy jelenet indulásakor kell elindítani, akkor a megfelelő háttérre váltás bekövetkezésekor indíthatjuk el azokat. Ha a tevékenységeket egy jelenet közben kell elindítani, akkor a jeleneten belül új lépés vezethető be.
A jelenetek lépésekre bontása Űrhajó Végtelen történet inicializálás
A jelenetek lépésekre bontása Macska Végtelen történet inicializálás
A jelenetek lépésekre bontása Macska Pico
A jelenetek lépésekre bontása Notebook Végtelen történet párhuzamos feladatok
A példaprogram további inicializálásai Bolygó Macska
A példaprogram további inicializálásai Pico Notebook
Háttérváltás A többjelenetes animációk új parancsai
Prezentációk
Prezentáció diákra bontása Játéktér Prezentáció
Prezentáció diákra bontása Előadó Prezentáció a diákon további háttérváltások és várakoztatások lehetnek
Prezentáció diákra bontása Prezentáció diákra bontása Egy prezentáció különböző diáin eltérő szereplőket vagy ugyanazon szereplőket máshogyan szeretnénk használni, valamint szabályozni szeretnénk az új diára lépés feltételét. Megoldás A különböző diákhoz különböző háttereket rendelhetünk (még akkor is, ha néhány diának azonos kinézetű a háttere), és a megfelelő háttérre váltás eseményekor indíthatjuk el a diát. A háttérváltások között pedig (feltételes) várakozásokat helyezhetünk el. A diák elején a szereplőket inicializálni kell (többek között megjeleníteni vagy elrejteni). A diák szükséges esetben lépésekre bonthatók.
A prezentációk új parancsai Várakozás billentyűlenyomásra vagy kattintásra
Előadás vége