Kraps

Sissejuhatus

Scratch ei ole tegelikult päris objektorienteeritud süsteem, vaid tegemist nn objektipõhise süsteemiga. Objektideks on spraidid, kostüümid, lava, heliklipid jms. Vahendite süsteemseks käsitlemiseks on otstarbekas kirjeldustes lähtuda objektidest. Oluline on seejuures ka asjaolu, et Scratchi abil saab tutvuda objektorienteeritud lähenemisviisi ja modelleerimise põhielementidega.

 

Scratchi projekti struktuur ja põhiobjektid

Scratchi projekt koosneb omavahel seotud objektidest. Kasutatavad objektid ja seosed nende vahel  on toodud UML klassidiagrammina. Vt jaotist Modelleerimine. Projekti loomisel ja täitmisel saab kasutada ja muuta objektide omadusi (spraidi ja hiirekursori koordinaadid, spraidi suurus ja nähtavus, taimeri ja muutuja väärtus jm). Suur osa Scratchi käskudest (käsuplokkidest) on käsitletavad objektide meetoditena, mille abil saab määrata tegevusi (liikumine, pööramine, värvi muutmine jm) spraitide ja ka teiste objektidega (pliiats, heli jm). Teatud omadusi (n. lava olek) saab määrata ja tegevusi täita ainult loomise faasis nö „käsitsi“, mitmeid omadusi saab muuta nii loomise faasis kui ka skriptide täitmisel. Mõnede objektide abil saab tekitada sündmusi (hiir, klahvid), mõned (spraidid, lava jm) aga võivad reageerida täitmise ajal teatud sündmustele (hiireklõps, vajutus klahvile jm).


Seoste otstes toodud kordused näitavad, mitu objekti ühest klassist võivad olla seotud teise klassi objek­tiga. Vaiki­misi on kordus 1.
Projektis on alati üks ja ainult üks lava (kordus 1), millel võib asuda suvaline arv spraite, sh ka null (kordus 0..*). Sama tüüpi kordus on mitmel teisel objektil: skript, heliklipp, muutuja jm. Laval on alati vähemalt üks taust ja spraidil üks kostüüm (1..*). Kordus 0..1 näitab, et kasutusel võib olla üks objekt või ei ühtegi (hiir, taimer, pliiats).

Muutujad ja loendid võivad esineda kahel tasemel: Projekt ja Sprait. Esimesel juhul on tegemist globaalsete andmetega, millele on juurdepääs projekti kõikidel spraitidel, teisel lokaalsete andmetega, millele on otsene juurdepääs ainult selle spraidi skriptidel, mille jaoks on muutuja või loend loodud.

Projekt

Projekt on kõrgema tasemega objekt, kõik teised objektid kuuluvad selle sisse (lava, spraidid, muutujad jm) või on kasutusel sellega töötamisel (hiir, klahvid jm).

pro_om

Scratchi 2.0 projekt kujutab endast faili laiendiga .sb2, Scratch 1.4 projekti laiendiks on .sb. Projekt luuakse kasutades skeemil näidatud komponente ja need on kasutusel töötavas projektis. Scratch 2.0 saab avada ja kasutada versiooni 1.4 projekte, vastupidine pole võimalik.
Formaalselt on tegemist võrdlemisi tüüpilise nö faili objektiga. Sellised omadused nagu nimi, tüüp jne on olemas praktiliselt kõikidel failidel. Sama võib öelda ka põhitegevuste (avamine, salvestamine jne) kohta. Olgu märgitud, et neid tegevusi saab täita ainult loomise faasis vastavate korraldus abil, mis asuvad menüüs.
Üheks omapäraks on võimalus laadida projekt serverisse, mis asub MITs, säilitada ja täita nö pilvedes.

Lava ja taustad

Lava (Stage) on ekraani piirkond, kus asuvad ja tegutsevad kõik spraidid. Siin asub ka suurem osa kasutajaliidese elementidest: muutujate näidikud (monitorid), käsunupud jms. 
NB! Siin ja edaspidi:  tegevustele, mida saab täita ka skriptides, järgnevad tunnusena tühjad sulud – võta taust(), mängi heli() jmt. Tegevustele, mida saab täita ainult loomise faasis, sulge ei järgne.

Lava
x_min = -240, x_max = 240
y_min = -180, y_max = 180
olek, värvus, helitugevus
tausta nimi, tausta number, …
muuda olekut, võta taust(),
järgmine taust(), muuda värvi(),
mängi heli(), mängi nooti(),
mängi trummi(), küsi(), …
 
Taust
nimi, number,
mõõtmed,
maht,
vorming, …
impordi,
kopeeri,
redigeeri,
eemalda, …
vork

Koordinaattelgede algus on lava keskel. Lava on 480 pikselit lai (x_min = -240, x_max = 240) ja 360 pikselit kõrge (y_min = -180, y_max = 180). Tegemist on tingühikuga, mille suurus sõltub ekraani suurusest ja kasutatavast eraldusvõimest.
Projekti loomisel ja täitmisel saab valida lava kolme oleku (suuruse) vahel: normaalne, väike ja suur. Skriptides olekut muuta ei saa. Esimene variant on tavaline lava olek rakenduste loomisel ja ka läbivaatamisel. Selles olekus saab lisada uusi spraite, muuta nende asukohta ja suurust jm, on nähtavad ka liidese teised piirkonnad. Väike lava olek on põhimõtteliselt sama, ainult lava mõõtmed on väiksemad ja skriptide jaoks on rohkem ruumi. Väikese lava oleku saab lülitada sisse või välja vastava käsuga menüüst Redigeeri. Suure ekraani korral on nähtav ainult lava ning käivitamise ja peatamise nupud. Selles olekus ei saa lisada ega muuta spraite ja skripte.

Laval võib olla suvaline hulk taustu. Pildil on nähtaval kolme tausta ikoonid. Vaikimisi on laval üks  valge taust. Taustade lisamine, eemalda-mine ja redigeerimine toimub vahelehel Taustad lava aktiivses olekus, kasutades ülemises ääres olevaid nuppe.

Taustad moodustavad järjestatud kogumi, mille üks element on nähtav (aktiivne).  Tausta saab muuta nähtavaks loomise faasis, klõpsates vastavat ala vahelehel Taustad. Saab muuta taustade järjestust, lohistades hiirega ikoone vajalikele kohtadele. Taustu saab vahetada ka lava skriptides käskudega: [võta taust nimi],  [võta taust number] ja [järgmine taust].

Spraidid ja kostüümid

Olemus, omadused ja meetodid

Spraidid on Scratchi projektide peamised objektid, rakenduste töö on suurel määral orienteeritud just nende kasutamisele. Sprait kujutab endast graafiliste kujundite kogumit, neid kujundeid nimetavad süsteemi loojad kostüümideks (costume). Kui sprait on nähtav, siis on nähtav üks selle kostüümidest (kujutistest). Vahetades skriptide abil teatud sagedusega kostüüme ja/või muutes ka spraidi asukohta, saab tekitada erinevaid animatsiooniefekte: tantsimine, käimine, lendamine jmt. Kostüüme saab kasutada ka muul otstarbel. Oma olemuselt ja ka käsitluselt on kostüümid samased lava taustadega. Paneme tähele, et kostüümidel ja taustadel on ühesugune valik omadusi ja meetodeid. Teatud erinevused tulenevad kasutamise eesmärkidest ja sisulisest tähendusest (semantikast).
                  

 Sprait
 nimi, suurus, nähtavus,
  x, y, suund, värvus,
 keere, heledus, …
 lisa, eemalda,
  muuda asukohta,
  paljunda, ekspordi
  muuda suurust()
  liigu(), pööra(),
  muudaX(), muudaY(),
  vaheta kostüümi(),
  muuda värvi(),
  ütle(), mängi heli(), …
 
 Kostüüm
 nimi, number,
 mõõtmed,
 maht,
 vorming, …

 impordi,
 kopeeri,
 redigeeri,
 eemalda, …

 

Spraidi geomeetrilised omadused on seotud lava koordinaatsüsteemiga. Asukoht määratakse keskkoha koordinaatidega (x ja y) lava telgede (X, Y) suhtes. Pööret ja liikumise suunda arvestatakse Y‑teljest, positiivne nurk on päripäeva. Nurga ühikuks on kraad.

Spraitide ja kostüümide lisamine ja redigeerimine

Spraite ja kostüüme saab lisada, redigeerida ja eemaldada projekti loomise faasis. Skriptide abil neid tegevusi täita ei saa. Spraite võib valida Scratchiga spraitide teegist (hoidlast) või oma kaustades olevates failidest. Sprait koosneb algselt ühest või mitmest graafilisest kujundist ehk kostüümist. Scratchist eksporditud spraidi juurde võivad kuuluda ka skriptid. Spraitide loomiseks võib kasutada PNG, GIF, JPG, BMP ning animeeritud GIF faile.  Spraite (kostüüme) saab joonistada joonistus­redaktori abil ka ise. Viimasega saab muuta ja täiendada ka olemasolevate spraitide kostüüme.
Uue spraidi loomiseks kasutatakse lava alumises servas olevaid nuppescr20_tausta_nupud.png Valitud sprait paigutatakse lava keskele. Lohistades hiirega saab viia spraidi suvalisele kohale laval. Plokkidega grupist Liikumine saab vajadusel määrata spraidi jaoks täpsed koordinaadid (x ja y).
Kasutades tööriistariba nuppe Kasvata või Kahanda, saab suurendada või vähendada kujundit. Spraidi suuruse muutmiseks võib kasutada ka grupi Välimus käske [võta suuruseks p %] või [muuda suurust h võrra], võttes p või h jaoks sobiva väärtuse ja klõpsates plokki. Käsus [võta suuruseks%] arvestatakse, et spraidi originaalsuurus on 100%.
scr20_spraitide_ikoonid.pngKõikide projektis kasutavate spraitide ikoonid on kuvatud piirkonnas, mis asub lava all. Iga spraidi jaoks on näidatud nimi. Vaikimisi on spraitide nimedeks Sprait1, Sprait2, ... Spraidi nime saab muuta spraidi jooksva info aknas.
Igal ajahetkel on aktiivne ühe spraidi (või lava) ikoon. Spraidi skriptide, kostüümide ja helide vaatamiseks ja redigeerimiseks peab muutma selle aktiivseks, klõpsates ikooni spraitide loetelus või tehes topeltklõpsu laval oleval spraidil.  Aktiivne spraidi ikoon on spraitide loetelus esile tõstetud, selle ümber on sinakas raam ja vasakpoolses ülemises nurgas on täht i.
scr20_spraidi_info.pngSpraidi infoaknas saab lisaks nime muutmisele näha spraidi olulisi omadusi: asukoht (koordinaadid x ja y), suund, pööramisstiil jm.
Spraidi suund näitab suunda, kuhu sprait liigub, kui käivitatakse käsu-plokk liigu Standardsed suunad on: 0=ülesse, 90=paremale, 180=alla, -90=vasakule, neid pakutakse valimiseks käsus (plokis) [osuta suunas suund], kuid saab määrata suvalise teise suuna (graadides). Sinine joon suuna juures näitab jooksvat suunda. Vedades seda joont, saab muuta spraidi suunda. Suunda saab muuta käskudega: [osuta suunas suund], [osuta objektle] (teine sprait või hiire kursor), [pööra nurk].
Kui lülitada sisse märkeruut teksti "saab lohistada täitmise ajal" ees, saab lohistamisega muuta spraidi asukohta ka suure lava korral, muidu seda teha ei saa.
Jooksva info aknas on ka nupud pööramise stiilide määramiseks, millest sõltub spraidi käitumine suuna muutmisel (näiteks põrkamisel servast). On võimalikud kolm varianti:

  • suuvline - võimalik suvaline pöördenurk: 0 kuni 360 graadi
  • vasak-parem - sprait saab pöörata ainult ümber vertikaalse telje
  • ei pöördu - sprait ei pöördu

Sees saab olla ainult üks neist. Vaikimisi on sees pööramisstiil suvaline. Pööramise stiil avaldab mõju ka käskude [kui äärel põrka], [pööra ...] ja [osuta ...] täitmisele. Kui pööramisstiil on ei pöördu, siis need käsud ei muuda vastava spraidi suunda. Kui stiil on vasakule-paremale, võib, sõltuvalt määratud suunast (nurgast) toimuda ainult peegeldus.
Spraiti saab paljundada, klõpsates seda laval või selle ikooni spraitide loetelus hiire parempoolse nupuga ja valides ilmuvast menüüst käsu paljunda (duplicate). Paljundamiseks võib kasutada ka tööriistariba nuppu Paljunda: klõpsata templiga nuppu riistaribal ja seejärel vastavat spraiti.
NB! Spraidi paljundamisel tulevad koopiasse kaasa ka kõik originaali kostüümid ja skriptid.
Spraidi eemaldamiseks võib kasutada tööriistariba käsku Eemalda: klõpsata kääridega nuppu riistaribal ja seejärel spraiti. Võib kasutada ka menüüd, tehes paremklõpsu spraidil või selle ikoonil ja valides ilmuvast menüüst eemalda.

Kostüüm kujutab endast antud spraidi "teisikut", millel on teine väljanägemine. Spraidi kostüüme, kui neid on mitu, saab vahetada. Seda kasutatakse eeskätt animatsiooni efekti loomiseks.
Kostüümide vaatamiseks ja redigeerimiseks klõpsa vahelehe Kostüümid lipikut

scr20_kostyymid.png Spraidi kostüümid esitavad spraidi erinevaid asendeid, mida saab kasutada kõndimise imiteerimiseks. Jooksev kostüüm on esile tõstetud ja ümbritsetud sinise raamiga. Ümberlülitamiseks teisele kostüümile peab lihtsalt klõpsama selle ikooni. Kostüümide vahetamine toimub tavaliselt skripide täitmisel, tüüpiliselt plokiga järgmine kostüüm.

Uue kostüümi loomiseks saab kasutada nuppe:

  • Vali kostüüm tegist (Scratch'i spraitide hoidlast)
  • Uue kostüümi jooonestamine Joonistamisredaktoriga
  • Vali kostüüm failist, Scratch tunnistab mitut graafikavormingut: JPG, BMP, PNG, GIF (kaasaarvatud animeeritud GIF).
  • Uus kostüüm kaameraga, kui arvutiga on ühendatud veebikaamera. Iga kord kui klõpsatakse nuppu, tehakse foto, mis saab uueks kostüümiks.

Pilti saab lohistada ka vebist, kaustadest või töölaualt.
Igale kostüümile vastab järjenumber (1, 2, ...) ja nimi. Kostüüme saab ümberjärjestada, lohistades hiirega. Sellega muutuvad ka kostüümide järjenumbrid. Nime saab muuta, sisestades vastavasse välja uue väärtuse.
Kui aktiveeritakse vaheleht Kostüümid, muutub kõrval kohe aktiivseks Joonistamisredaktor, millega saab muuta ja täiendada kostüüme. Paremklõps kostüümil kuvab käsud kostüümi paljundamiseks, eemaldamiseks ja salvestamiseks lokaalsesse faili. Ümargune nupuke ristiga, kustutab kostüümi.
Kost_Nr.gifIgal ajahetkel on aktiivne üks kostüüm. Kostüümi saab muuta aktiivseks käskudega [järgmine kostüüm] ja [võta kostüüm nimi|number]. Numbri kasutamisel peab olema tegemist muutujaga. Kõrvaltoodud skriptis vahetatakse järjest kostüüme järjenumbritega kolm kuni kuus.
Tegevused (asukoha muutmine, pööramine, suuruse muutmine jmt), mõjutavad selle spraidi kõiki kostüüme.

Plahvatus_skript.gifAlgselt olid kostüümid mõeldud mitmesuguste animatsiooniefektide loomiseks: jooksmine, tantsimine jmt. Kuid nad leiavad kasutamist mitmete teiste tegevuste esitamiseks.
Näiteks on mingis mängus lennukil kaks kostüümi. Üks kostüüm on lennuki pilt nö normaalvaates ja teine kujutab plahvatust.
Kui tabatakse lennukit, teeb kõrvalolev skript aktiivseks kostüümi plahvatus ning peale väikest pausi sprait peidetakse.
Kostüüme saab kasutada erinevate tekstiteadete kuvamiseks. Näiteks mingi mängu tulemuse kuvamiseks on spraidil teade kolm kostüümi tekstidega:
  kostüüm1: Võitis Pille!,
  kostüüm2: Võitis Kalle!,
  kostüüm3: Viik!
Mängu alguses sprait peidetakse. Sõltuvalt teatest muudetakse aktiivseks vastav kostüüm.
lipp.gif pille.gif  kalle.gif  viik.gif

Animeeritud GIF-failide kasutamine spraitidena

agif
Animeeritud GIF-failid leiavad juba ammu laialdast kasutamist animeeritud piltide lisamiseks teatud tüüpi dokumentidesse, eeskätt esitlustesse ja veebidokumentidesse, kus nad hakkavad „elama“. Taolisi faile on Internetis tuhandeid ja neid saab vabalt alla laadida. Animeeritud GIF fail koosneb, nagu Scratchi sprait, mitmekihilisest kujundite kogumist, mis lisatuna Scratchi projekti, jaguneb kostüümideks.
Faili lisamine Scratchi toimub veidi omapäraselt. Kõigepealt peab panema või joonistama lavale ühe suvalise spraidi, mille kostüümiks on suvaline graafikafail mõnes Scratchis lubatud formaadis. Selle võib näiteks teha joonistamisredaktoriga või lisada teegist. Seejärel peab importima selle kostüümide hulka käsuga "Kostüümi lisamine failist" animeeritud GIF-faili, mis automaatselt jaguneb kostüümideks. Esialgu lisatud spraidi kostüüm(id) on esimene(sed), selle peab eemaldama.
agifkoorikxc

1) Objekt seisab paigalanima1
2) Objekt liigub edai-tagasi
anima2

3) Objekt imiteerib ringliiklust

anima3

Ülal on toodud näited animeeritud GIFi kasutamisest HTML-dokumenis.
Toodud link võimaldab näha Scratchi programmi, kus on üsna mitu animeeritud GIFi näidet.

Objekti saab panna "elama" Scratchis skriptiga, mis lihtsalt vahetab teatud sagedusega kostüüme (vt esimene näide).

Scrtchis saab objekti lihtsalt panna ka liikuma edasi-tagasi või imiteerima ringliiklus (skriptid kaks ja kolm).

Pliiats

Iga sprait saab kasutada joonistamiseks pliiatsit. Pliiatsi omadused ja meetodid on toodud alloleval skeemil. Joonistamisel kasutatakse alati grupi Liikumine käske: liigu, pööra, mine jm. Kui pliiats on all, jätab see liikumisel joone. Võib öelda, tt liikumise käsud kuuluvad pliiatsi meetodite hulka.
Allpool on toodud näiteks skript, mis joonistab ruudu ning jätab selle nurkadesse Krapsu jäljendi.

   Pliiats
  suurus, värv
  varjund, jäljendg

  üles(), alla()
  võta suurus()
  muuda suurust()
  võta värv()
  muuda värvi()
  jäta jäljend()

ruskr ruut

Heliklipid

Heliklipid võivad olla seotud spraitidega ja lavaga. Objektid luuakse helifailidest. Kasutakse WAV ja MP3 vormingus faile. Scratchiga teegis on komplekt helifaile, mille hulgast saab importida klippe. Võib kasutada oma helifaile nimetatud vormingutes.

hel
Kui arvutiga on ühendatud mikrofon, võimaldab Scratch lindistada oma juttu ja muid helisid..
Scratchis on efektiivsed ja mugavad vahendid helide, sh kõne, lindistamiseks, redigeerimiseks ja esitamiseks.
Kõik heliklippidega seotud tegevused tehakse loomise faasis. Heliklippe saab käivitada grupi Heli käskudega: [mängi heli nimi], [mängi heli nimi kuni valmis].
[mängi heli ...] käivitab nimega määratud klipi ja skripti töö jätkub kohe.
[mängi heli ... kuni valmis] puhul mängitakse klipp lõpuni ja alles siis jätkub skripti töö.
Käsuga [peata kõik helid] saab lõpetada helide mängimise.

Väikene demo. Ruutvõrrandi rock. Ettevaatust, heli! Vaata heli tugevust!

Kui viitsid vaata ka Demo_1

Hiir ja klahvid

Neid seadmeid kasutatakse eeskätt sündmuste tekitamiseks ning vastavate skriptide käivitamiseks. Vastavad tarkvaraobjektid teevad kindlaks hiire klõpsud ja vajutused klahvidele ning võimaldavad kasutada nende seadmetega seotud omadusi: hiirekursori koordinaadid, hiire olek (nupp all või mitte), klahvile vastav sümbol (täht, number või muu). Allpool on toodud mõned näited, milles kasutatakse erinevaid sündmusi ja objektide omadusi.


Lava_klops.gif

Hiiresündmus
Kui klõpsatakse lava, muutub aktiivseks järgmine taust.

hiir

Hiiresündmus ja klahvide kasutamine
Kui klõpsatakse spraiti Kraps, käivitub kolmest käsust koosnev skript. Käsu [küsi … ja oota] täitmisel loetakse kasutaja poolt klaviatuurilt sisestatud väärtus ja salvestatakse plokis (muutujas) vastus.

Nool_vasakule_0.gif

Klahvisündmus
Kui vajutatakse klahvi vasaknool, võetakse spraidi suunaks -90° ja see liigub 20 sammu.

Klahv_hiir.gif

Klahvisündmus ja hiire omaduste kasutamine
Kui vajutatakse klahvi k, liigub sprait ühe sekundiga hiirekursori koordinaatidega määratud punkti.

Tuhik_hiir.gif

Klahvisündmus ja hiire oleku kasutamine
Kui vajutatakse klahvi tühik, käivitub lõputu kordus. Iga kord, kui vajutatakse hiire vasakule klahvile, liigub sprait kursori asukohta.

Taimer

Taimerit saab kasutada jooksva aja kuvamiseks, rakenduste ja ülesannete täitmise aja kindlaks tegemiseks, mängude, testide ja muude tegevuste aja määramiseks. Taimeril on ainult üks omadus: jooksev aeg, mille saab viia algseisu käsuga (meetodiga) [taimer algseisu].


Aeg_Soit.gif

Auto liigub lava vasakust servast parema servani juhusliku sammuga h (2 .. 10).
Käsuga [taimer algseisu] võetakse taimeri algväärtuseks 0 ja väärtus hakkab automaatselt suurenema vastavuses arvuti sisetaimeri tööga. Käsuga [võta aeg = taimer] omistatakse taimeri jooksev väärtus muutujale aeg, mille monitoris see kuvatakse laval. Skripti töö lõppemisel jääb monitori lõppaeg, aga taimeri töö jätkub. Selle jooksvat aega võib näha, kui lasta kuvada vastav monitor.

 Järgnevad skriptid demonstreerivad taimeri kasutamist täitmise aja kontrollimiseks.


Korrutamine_aeg.gif

Korrutustabeli trenn. Eesmärgiks on lahendada võimalikult rohkem ülesandeid etteantud aja jooksul.
Aeg_0.gifPõhiskript kuvab järjest ülesandeid, loeb kasutaja vastuseid ning hindab neid. Paralleelselt sellega töötab skript, mis kontrollib aega.
Muutuja aeg väärtuseks võetakse piiraeg, mida korduses  vähenda-takse järjest kuni jõutakse nullini.
Käsk [peata kõik] lõpetab kogu programmi (kõikide skriptide) töö.

Andurid

Andurid võimaldavad saada informatsiooni mõnede sündmuste ja objektide omaduste kohta. Nende kasutamine toimub gruppi Andurid kuuluvate käskude kaudu.

Puuteandurid

Käivitatakse käskudega: <puudutab objekt>, <puudutab värvi …> ja <värv … puudutab värvi ..>. Teevad kindlaks sündmused: antud objekt (mille skriptis esineb vastav käsk) puudutab teist objekti, objekt puudutab teise objekti või lava määratud värviga osa, või antud objekti määratud värviga ala puudutab teise objekti või lava määratud värviga osa.


Nool_Lava_2.bmp

Näide. Lava ülemises servas liigub edasi-tagasi värviline märklaud. Kasutaja üritab tabada seda lava alumises servas asuva noolega. Nool läheb lendu, kui vajutatakse klahvile tühik.
Saadavate punktide arv märklaua tabamisel sõltub värvist, mida puudutab nool. Punase värvi korral saab 10 punkti, sinise korral – 5 punkti, rohelise korral – 2. Kui nool läheb mööda, võetakse 2 punkti maha.

Skript_Puude_Nool.gifNoole lendu juhtiv skript on jagatud kahte ossa. Põhiskript hakkab tööle, kui vajutatakse klahvi tühik. See suurendab noole y‑koordinaati ja kontrollib kahte tingimust.
Kui nool puudutab ülemist serva, oli tegemist möödalasuga: võetakse 2 punkti maha ja nool viiakse alumisse serva.
Kui aga nool enne puudutab märklauda, käivi-tatakse alamskript, mis teeb kindlaks, millist värvi tabas nool ja suurendab vastavalt punktisummat. Täitmisjärg läheb automaatselt tagasi põhiskriptile, mis viib noole alumisse serva ja lõpetab skripti töö.

Skript_Puude_Marklaud.gif

Vasakpoolne skript juhib märklaua edasi-tagasi liikumist.
Parempoolne skript kontrollib mängu aega. Erinevalt eespooltoodud näitest, kus aega kuvati kahanevalt, kuvatakse siin seda kasvavalt – alates nullist.

Kauguse ja omaduste andurid

Kauguse andur võimaldab teha kindlaks antud spraidi kauguse teisest spraidist (vt näide). Omaduste andur võimaldab spraidi või lava skriptil saada teada antud spraidi omaduste ja lokaalsete muutujate väärtusi. Selleks kasutatakse grupi Andurid plokki <omadus kujundil sprait>. Kättesaadavad on järgmised omadused: x, y, suund, kostüümi #, suurus, helitugevus. Spraidi skriptis võib saada teada lava tausta numbri. Käsk plokk_omadused_2.gif    omistab muutujale XP spraidi pall omaduse x väärtuse (x-koordinaat).

Kraps_pall_kast_lava.bmpNäide. Kraps jalutab palliga edasi-tagasi. Pall pöörleb vastavalt liikumise suunale. Krapsu teel on kast. Kui Kraps jõuab kasti lähedusse, hüppab ta sellest üle.
Krapsu skriptis käivitab käsk [teata Tule] palli vastava skripti. See viib palli Krapsu juurde, positsioneerib ja määrab selle pöörlemise suuna, arvestades Krapsu liikumise suunda. Viimane tehakse kindlaks omaduste anduri abil, kasutades plokki [suund kujundil Kraps]. Väärtus omistatakse muutujale s, seda kasutatakse antud skripti kui-plokis ja ka skriptis Mine.
Krapsu skripti kui-plokis kontrollitakse pidevalt kaugust kastist. Kui see saab väiksemaks 40‑st, käivitab käsk [teata Hyppa] vastava Krapsu skripti. Enne hüpet käivitab Kraps käsuga [teata Mine], palli skripti, mis viib palli kastist mööda. Skriptis kasutatakse muutuja s väärtust, mille fikseerib skript Tule. Peale hüpet käivitab Kraps kasti asukoha muutmise skripti Muuda, milles kasutatakse Krapsu ja palli omadust x asukoht. 

Kraps
kaug

Kras_Pall_Kast_Muuda.gifPallKraps_Pall_Kast_Tule.gif

 

Kraps_Pall_Kast_Mine.gif

Kast

Muutujad, loendid ja skriptid

Neid objekte vaadeldakse eraldi materjalides: Muutujad, Skriptid ja Loendid