Rajzlisták használata az Imagine-ben (I. rész)
2006/06/28 08:00
4972 megtekintés
A cikk már legalább egy éve nem frissült, az akkor még aktuális információk lehet, hogy mára elavultak.

Az Imagine rendszer néhány lehetőségét már korábban ismertettük, most egy játék létrehozásának lépésein keresztül ismerkedünk meg a rajzlisták használatával.

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 parancsAngol parancsEredmény
előre számforward száma teknőc előrelép a megadott számú lépéssel
hátra számback száma teknőc hátralép a megadott számú lépéssel
jobbra számright száma teknőc jobbra fordul a megadott számú szöggel
balra számleft száma teknőc balra fordul a megadott számú szöggel
töltőszín! színsetfillcolour színaz alakzatok kitöltő színének beállítására szolgál
kör számcircle számegy kört rajzol a megadott átmérővel
töltöttkör számfilledcircle számegy kitöltött kört rajzol a megadott átmérővel
pontdotegy pontot rajzol
pontméret számpoint számegy megadott méretű pontot rajzol
betűtípus!setfonta betűtípus beállítására szolgál
címke szöveglabel szövegkiírja a megfelelő szöveget
tollatfelpenupfelemeli a teknőc tollát
tollatlependownleteszi 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:

szem1

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.

tekiatnevez

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!

szem1vagolap
lap1beilleszt
szem2mozgat
Szem1 vágólapra másolásaSzem1 beillesztése a lapraA 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.

szemek

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  festoeszk ikon megnyomásával jeleníthetjük meg.

rajzeszkozok

Az Imagine-ben használható rajzeszközök

arc9 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]

kancsi 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 intezo , 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

eljhozzaad

Eljárás nevének megadása és tartalma

indito

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

seriffkep

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

celtabla 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árgyinformatika
témakörImagine rajzlisták használata
évfolyam/korosztály6. - 12. évfolyam
módszerA 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élokA 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 helyzetA 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égesszámítógépterem, kivetítő
szerzőAbonyi-Tóth Andor

Csatlakozz hozzánk!

Ajánljuk

European Schoolnet Academy Ingyenes online tanfolyamok tanároknak
School Education Gateway Ingyenes tanfolyamok és sok más tanárok számára
ENABLE program Program iskoláknak a bullying ellen
Jövő osztályterme Modern tanulási környezetekről a Sulineten