Rajzlista mint Teknőc alak...
Korábban láttuk, hogy az Imagine rendszerben a Teknőcök alakjának képeket és animációkat is be tudunk állítani. Azonban a Teknőc alakját az Imagine Logo nyelv segítségével is meghatározhatjuk az alábbi módon:
teknőcneve'alak! [rajzlista]
teknőcneve'setshape [rajzlista]
A rajzlistában használhatjuk például a következő parancsokat:
Magyar parancs | Angol parancs | Eredmény |
előre szám | forward szám | a teknőc előrelép a megadott számú lépéssel |
hátra szám | back szám | a teknőc hátralép a megadott számú lépéssel |
jobbra szám | right szám | a teknőc jobbra fordul a megadott számú szöggel |
balra szám | left szám | a teknőc balra fordul a megadott számú szöggel |
töltőszín! szín | setfillcolour szín | az alakzatok kitöltő színének beállítására szolgál |
kör szám | circle szám | egy kört rajzol a megadott átmérővel |
töltöttkör szám | filledcircle szám | egy kitöltött kört rajzol a megadott átmérővel |
pont | dot | egy pontot rajzol |
pontméret szám | point szám | egy megadott méretű pontot rajzol |
betűtípus! | setfont | a betűtípus beállítására szolgál |
címke szöveg | label szöveg | kiírja a megfelelő szöveget |
tollatfel | penup | felemeli a teknőc tollát |
tollatle | pendown | leteszi a teknőc tollát |
(A rajzlistában használható parancsok teljes listájáról az Imagine súgóból tájékozódhatunk. A parancssorba írjuk be, hogy rajzlista, majd nyomjuk meg a CTRL-F1 billentyűt és kattintsunk a Megjelenítés gombra.)
Lássunk egy egyszerű példát, készítsünk egy szemet rajzlista segítségével!
Szemet talán úgy rajzolhatunk a legegyszerűbben, ha egy körben elhelyezünk egy kisebb méretű, kitöltött kört. Hogy rajzolhatnánk ilyet a teknőccel? Használhatjuk a kör (circle) parancsot, amely a teknőc pozíciójában elhelyez egy megadott átmérőjű kört. Ha kitöltött kört szeretnénk rajzolni, akkor a töltöttkör (filledcircle) parancsot használhatjuk.
Vagyis a szükséges parancs:
kér "teknőcneve [kör 30 tollatfel előre 5 töltöttkör 18]
ask "teknőcneve [circle 30 penup forward 5 filledcircle 18]
Ennek az eredménye az lesz, hogy a lapon megjelenik egy szem:
Hogy adhatjuk meg ezt az ábrát egy teknőc alakjának?
Következő lépésben megmutatjuk, hogyan adhatjuk meg ezt az ábrát a Teknőc alakjának. Hozzunk létre egy teknőcöt, és nevezzük át szem1-re! A teknőcöt (és más objektumot is) úgy tudunk átnevezni, hogy jobb gombbal kattintunk rajta, majd a megjelenő menüből kiválasztjuk a ... változtatása menüpontot, és a megjelenő ablakban átírjuk a név mező tartalmát arra, amilyen nevet szeretnénk neki adni.
Az átnevezés lépései
Ha készen vagyunk az átnevezéssel, az imént használt parancsokat írjuk be a rajzlistába az alábbi módon.
szem1'alak! [kör 30 tollatfel előre 5 töltöttkör 18]
szem1'setshape [circle 30 penup forward 5 filledcircle 18]
Ha nem gépeltünk el semmit, a teknőc alakja megváltozik, a Teknőcalak helyett a fenti ábrát kell látnunk.
Készítsünk még egy ilyen szemet!
Létrehozhatnánk egy új teknőcöt szem2 néven és megismételhetnénk a fenti műveleteket, de egyszerűbb, ha a szem1 nevű teknőcön állva lenyomjuk az egér jobbgombját, majd a megjelenő környezeti menüből kiválasztjuk a Vágólapra másol menüpontot, majd a lapon állva - szintén a jobb egérgombot használva - a menüből kiválasztjuk a Beillesztés a vágólapról menüpontot. Ezek után létrejön a szem2 teknőcünk. Most mozgassuk ezt a másik teknőc mellé! A szem2 teknőc környezeti menüjéből válasszuk ki a szem2 mozgatása menüpontot és tegyük a megfelelő helyre a teknőcöt!
Szem1 vágólapra másolása | Szem1 beillesztése a lapra | A létrejött szem2 nevű teknőc mozgatása |
Ha mindent jól csináltunk, elértük, hogy a két szem egymás mellé kerüljön.
Természetesen a szemek köré az Imagine beépített festő eszköztárának segítségével egyszerűen rajzolhatunk egy arcot is.
A festő eszköztárat az ikon megnyomásával jeleníthetjük meg.
Az Imagine-ben használható rajzeszközök
Mivel a szemeket teknőcök alakjaként adtuk meg, lehetőségünk van arra, hogy azokat elmozgassuk, vagy elforgassuk. Sőt megkérhetjük a szemeket, hogy arra forduljanak (nézzenek), amerre az egérkurzor van. Az teknőc irányát az irány! (setheading) paranccsal tudjuk beállítani, az egér aktuális pozícióját pedig az egérpoz (mousepos) függvény adja meg.
De honnan tudjuk meg, hogy milyen szögben kell elfordulnia a szem(ek)nek ahhoz, hogy az egér pozíciója felé nézzen(ek)? Erre szolgál az irányszög (towards) függvény.
Ki is próbálhatjuk a parancsot, kérjük meg a szem1 teknőcöt, hogy nézzen az egérkurzor irányába:
kér "szem1 [irány! irányszög egérpoz]
ask "szem1 [setheading towards mousepos]
Nyilván ugyanezt meg kellene tennünk a szem2-vel is, hogy ne legyen kancsal a figuránk. Persze egyszerre több teknőcöt is megkérhetünk egy parancs elvégzésére, ezért írhatnánk a következőt:
kér [szem1 szem2] [irány! irányszög egérpoz]
ask [szem1 szem2] [setheading towards mousepos]
Ha ezt a parancsot kipróbáljuk, azt tapasztaljuk, hogy nem mindig a várható eredményt adja. Ha például a figura két szeme közé visszük az egérkurzort, szembetűnik, hogy mi a baj. A szem2 ugyanabba az irányba néz, mint a szem1. Ez azért van, mert a kér (ask) parancs mindkét teknőcre párhuzamosan végrehajtja ugyanazt a parancsot.
Ha nem ezt szeretnénk, akkor használhatjuk a kéregyenként (askeach) parancsot, amely minden teknőcre külön-külön hajtja végre a megadott parancso(ka)t.
Vagyis a megfelelő parancs:
kéregyenként [szem1 szem2] [irány! irányszög egérpoz]
askeach [szem1 szem2] [setheading towards mousepos]
Ha azt szeretnénk, hogy a figuránk állandóan reagáljon a egérmozgásra, meg kell kérnünk az Imagine-t, hogy a fenti parancsot állandóan futtassa a háttérben. Ehhez az örökké [utasításlista] (forever [utasításlista]) parancsot kell használnunk.
Vagyis a megfelelő parancs:
örökké [kéregyenként [szem1 szem2] [irány! irányszög egérpoz]]
forever [askeach [szem1 szem2] [setheading towards mousepos]]
Ezen a videón láthatod az alkalmazás elkészítésének lépéseit:
Ha az örökké parancsot egy indító (startup) nevű eljárásban helyezed el, akkor a projekt beolvasásakor azt az Imagine automatikusan végrehajtja. Ilyen eljárást úgy tudsz létrehozni, hogy megnyitod az Intéző ablakot , majd a főablak (mainwindow) elemen állva, az Elem menüben kiválasztod az Eljárás hozzáadása menüpontot, és beírod, hogy indító.
Eljárás hozzáadása
Eljárás nevének megadása és tartalma
Itt meg is nézheted az elkészült projektet. Természetesen saját fényképedet, vagy az internetről letöltött képeket is felhasználhatsz a projekt elkészítéséhez.
A szemforgató seriff
A seriffalak.gif kép felhasználásával, önállóan készítsd el a fenti projektet, és mentsd el seriff néven. Itt Neked kell kikísérletezned a szemek megfelelő méretét. Készítsd el a hátteret is saját rajzok, vagy már kész képek segítségével!
Céltábla készítése
Cikkünk folytatásában a cowboyos alkalmazást fejlesztjük tovább egy olyan játékká, amelyben további (animált) rajzlistákat is felhasználunk. Ebben már egy céltábla is fontos szerepet fog kapni! Próbáld rajzlista segítségével megrajzolni az itt látható céltáblát. Segítségül annyit elárulunk, hogy a kitöltött kör színét a töltőszín! (setfillcolour, setfc) paranccsal tudod beállítani. (pl.: töltőszín! "piros) A körök átmérője: 60,50,40,30,20,10.
A céltábla közepén a célkeresztet az előre lépés, hátra lépés és balra szög és jobbra szög parancsok használatával tudod megrajzolni.
Jó munkát kívánunk!
Abonyi-Tóth Andor
Módszertani ajánló
tantárgy | informatika |
témakör | Imagine rajzlisták használata |
évfolyam/korosztály | 6. - 12. évfolyam |
módszer | A tanár a tananyagot követve mutatja be az egyes funkciókat, vagy önálló feldolgozásra adja ki az anyagot. |
idő | korcsoport és előismeret függő |
célok | A tanulók ismerkedjenek meg egy multimédiás szerzői környezettel, amelynek scriptnyelve egyszerű, a hazai oktatásban hagyományokkal rendelkező nyelv, képesek legyen egyszerű rajzlisták készítésére |
tanulási helyzet | A tanulók a tanár útmutatása szerint ismerkednek meg a rajzlisták fogalmával, majd egy feladatokat kapnak, amelyet meg kell valósítaniuk. |
szükséges | számítógépterem, kivetítő |
szerző | Abonyi-Tóth Andor |