Sissejuhatus
Scratch 2.0-s saab rakenduste loomiseks kasutada kahte võimalust: Scratch (http://scratch.mit.edu) on uue põlvkonna graafiline programmeerimiskeel, mis teeb lihtsaks lugude, mängude, annimatsioonide aga ka tõsisemate asjade loomise ja loodu jagamise teistega veebis. Ta võimaldab lihtsalt ja kiirelt omandada programmeerimise põhimõtted ning tüüpilised vahendid ja tegevused, mida kasutatakse ka nö "tavalistes" programmeerimiskeeltes (Visual Basic, C, Java jt). Programmi protseduurid (skriptid) pannakse Scratch'is kokku hiire abil "klotsidest" nagu Lego mudel. Scratch'i saab kasutada paljudes keeltes, sh ka eesti keeles. Scratch projekti põhikomponendid: spraidid ja skriptidScratch'i projektide keskseteks komponentideks on objektid, mida nimetatakse spraitideks (ingl. sprite - haldjas, vaim). Sa võid muuta spraitide väljanägemist, vahetades nende kostüüme (costume). Sa saad määrata, et sprait näeb välja nagu inimene või nagu rong või nagu liblikas või ükskõik mis muu. Kostüümina võib kasutada suvalist pilti: selle võib joonistada, Scratchi koosseisu kuuluva joonistamisredaktoriga (Paint Editor), importida failist või veebist. Sa saad anda spraidile korraldusi, lastes seda liikuda, mängida muusikat, suhelda teiste spraitidega, arvutada, joonistada jm. Et öelda spraidile, mida teha, moodustad sa hiirega graafilistest plokidest (käsuplokkidest) skripti ehk protseduuri. Kui teha skripil hiirega topeltklõps, täidab Scratch plokidega määratud korraldused skripti algusest kuni lõpuni. Skripti käivitamiseks on ka teisi võimalusi: Roheline lipp Lava ülemises parempoolses nurgas, kui skripti esimeses plokiks on plokk rohelise lipuga, teise skripti teavitamise käsk (kui skripti esimeses plokiks on plokk Kui saabub teade) jm. Skripti töö saab vajadusel peatada, klõpsates selle suvalist plokki vői punast nuppu Lava ülemises parempoolses nurgas (seiskab kõik skriptid) Scratchi 2.0 kasutajaliides![]() Sisuliselt on Scratch 2.0 kasutajalides enam vähem sama nagu eelmises versioonis - on samad alad: lava, käskude, skriptide ja skriptide ala jm, on vahetatud ainult nende asukohti. Uueks elemendiks on nn "seljakott", mida saab kasutada spraitide ja skriptide vahetamiseks projekride vahel. Selgitused ja juhendid kasutajaliidese ja selle komponentide kasutamiseks on otse Scratchi kodulehel (http://scratch.mit.edu). LavaScratchi põhiobjektid, Scratch wiki
Nupuga
Spraitide lisamine ja eemaldamineScratchi põhiobjektid Spraitide ikoonide loetelu ja jooksev infoSpraitide ikoonide loetelus, mis asub lava all selle ikooni kõrval, on kuvatud kõikide projektis kautatavate spraitide ikoonid. Iga spraidi jaoks on selle all näidatud nimi. Vaikimisi on spraitide nimedeks Sprait1, Sprait2, ... Spraidi nime saab muuta spraidi infoaknas, mille saab avada, klõpsates tähte i ikooni nurgas. Spraidi infoaken PööramisstiilidSpraidi käitumist suuna muutmisel (näiteks põrkamisel servast), saab määrata spraidi infoaknas rakenduse loomise faasis ja ka programmi täitmisel käsuga [pööramisstiil ...]
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. KostüümidKostüü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.
Uue kostüümi loomiseks saab kasutada nuppe:
Pilti saab lohistada ka vebist, kaustadest või töölaualt. Helid Scratch wiki Avaneb vaheleht, kus on vahenidhelde lindistamiseks, redigeerimiseks või heliklippide importiimiseks. Scratch saab kasutada MP3 faile ja pakimata WAV, AIF ja AU faile. Käsuplokkid ja skriptid
|
![]() |
Kõrval on toodud skripti näide. See teeb järgmist. Kõigepealt viib spraidi lava vasakusse serva, võttes spraidi x-koordinaadiks -200, siis tekitakse heli "näu" ja spraidi juurde ilmub kast tekstiga "Tere!" |
Kui lohistada lisatavat plokki skripti (pinu) olemasoleva osa kohal, näitab hele valge riba kohta, kuhu saab panna ploki nii, et see ühilduks teiste plokidega. Plokke saab lisada pinu ette, keskele ja lõppu. Ploki eemaldamiseks skripti alast, lohistada see käsuplokkide ala suvalisse kohta ja plokk kaob.
Pinu (skripti) saab teisaldada skripti alas, vedades seda ülemisest plokist. Kui lohistada välja plokk pinu keskelt, tulevad sellega kaasa kõik allpool olead plokid.
NB! Plokide pinu (skripti) saab kopeerida teisele spraidile, lohistades pinu selle spraidi ikooni kohale spraitide ikooni loetelus. Kui ikooni ümber tekkib valgene joon, lasta hiire nupp lahti.
Mitmetel pinuplokkidel, nagu ja
, on redigeeritav valge tekstiväli. Väljas oleva väärtuse muutmiseks, klõpsata välja ja tippida uus väärtus. Sellesse välja võib lohistada ka ümardatud nurkadega nn viiteploki nagu
või
, saades näiteks taolise ploki
.
Mõnedel plokkidel, nagu , on olemas rippmenüü. Klõpsates noolt (kolmnurka) avaneb menüü, kust saab valida vajaliku väärtuse, näiteks praegu noodi numbri. Täpsemalt plokkidest vt osas Plokide kirjeldus ja Abiinfo ekraanikuvad.
Kommentari lisamiseks klõpsa ala suvalises kohas parempoolse hiirenupuga ja vali ilmuvast menüüst lisa kommentar (add comment). Ilmub kollane kommentari ala, kuhu saad tippida selgituse.
Kommentaari ala suuruse muutmiseks, lohista seda paremast äärest. Klõpsates üleval olevat kolmnurka saad panna ala kokku (jääb ainul esimene rida) ja suurendada seda tagasi.
Kommentare saab lisada skriptide piirkonna suvalistesse kohtadesse neid saab teiseldada lohistamisega hiirega.
Kommentaari saab siduda vajaliku plokiga, lohistades kommentari ploki kohale ja lastes seejärel lahti.
RLPA skriptid Scratch wiki
Loomise ajal saab iga skripti ja ka üksiku käsuploki käivitada klõpsates seda.
Rakenduse täitmise ajal näiteks suurel laval või veebi dokumendis sellist võimalust ei ole: skriptid ei ole nähtaval. Oluline roll on nn päiseplokidel. Töötava rakenduse iga skripti esimesks käsuplokiks on päiseplokk, mis määrab skripti käivitamisviisi. Päiseplokid reageerivad teatud sündmustele: vajutus etteantud klahvile (näiteks tühik), spraidi või Lava klõpsamisele, teate saabumine teiselt skriptilt jm. Sündmuse esinemisel käivitatakse alloleva skripti (pinu) plokid. Allpool on toodud Scratchis olevad päiseplokid (kumerate üleservatega) ja teateplokid, mis käivitavad teisi skripte.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Programmi jagamine mitmeks omavahel koostööd tegevaks üksuseks on programmeerimises väga tähtsaks põhimõtteks. See võimaldab luua paindlikke ja ökonoomseid rakendusi, kasutada üksusi korduvalt nii samas kui ka teistes rakendustes, täita tegevusi paralleelselt jm. Scratchis on koostöö skriptide vahel rajatud teate saatmisele ühe skripti poolt ja selle vastuvõtmisele teiste skriptide poolt. Käsuga [teata nimi] või [teata nimi ja oota] väljastatakse teade (signaal), mille võib vastu võtta ja käivituda suvaline arv skripte päisega [kui saabub teade nimi], kus nimi on sama mis oli käsus [teata …]. Tegemist võib olla sama spraidi skriptidega või teise spraidi või lava skriptidega. Teate vastuvõtnud skriptid alustavad tööd paralleelselt. Vt Skriptid Scratchis, Scratch wiki,
Allpool on toodud Scratchi rakenduse Flashi klipp, mis demonstreerib skriptide käivitamise ja koostöö erinevaid viise.
Rakenduses tegutsevad kolm spraiti: Juku, Kraps ja pall, millel igaühel on mitu skripti, mida võib näha allpool ja ka klõpsates Flashi klippi. Rohelise lipu klõpsamisel lähevad paralleelselt käima kolm skripti. Juku tervitab, saadab teate Tervita Krapsule ja teate Salto kõigele kolmele (ka iseendale!). Kraps käivitab rohelise lipuga päiseploki alusel heliklipi "birthday", sama klipi ta käivitab, kui teda klõpsata hiirega. Palli rohelise lipuga päiseplokkiga skript jääb käsu [korda lõputult] toimel nö ooteseisu. See võib panna palli lendama, kui seda puudutab Juku. See aga saab toimuda, kui viia Juku nooleklahviga puutesse palliga, vastavad skriptid on Jukul olemas. Pall läheb lendu, kui vajutada tühiku klahvile ja kui klõpsata palli hiirega. Hiireklõpsule reageerivad ka Juku ja Krapsu vastavad skriptid.
Ning veel üks variant sündmuste kasutamisel on seotud taustade vahetamisega. Rakenduses on neli tausta: nö põhitaust "aed" ja kolm tausta tegelaste skriptide piltidega, Klõpsatus lavale vahetab tausta. Seoses sellega ka peidetakse ja näidatakse spraite. Vastavad skriptid on toodud ainult Krapsu jaoks nö Flashi variandis. Võimalik, et paned tähele, et taustade vahetamisel vahete-vahel ilmub üks tegelane veel. Võid uurida asja põhjalikumalt, klõpsates toodud linki.
Tööriistariba nupudega saab määrata teatud tegevusi objektidega projekti loomise faasis.
![]() |
Klõpsa vajaliku nuppu ning hiire kursori kuju muutub nupul toodud pildi taoliseks. Seejärel klõpsa objekti hiire vasaku nupuga. |
Ikooniga saab kuvada menüü keele valimiseks Scratch'i kasutajaliidese jaoks. Scratch'i saab kasutada ka eesti keeles. Igaüks võib lisada ja redigeerida Scratch'i tõlkeid. Tõlkimisega seotud küsimustega pöörduge Scratch'i saidile (http://info.scratch.mit.edu/Translation/)
Fail-menüü käsud |
Redigeeri-menüü käsud |
Valik Nõuanded kuvab abiinfo menüü
Valik About kuvab mitmesugust abiinfot
Joonistamisredaktoris saab luua ja muuta taustu ja kostüüme. Scratch 2.0-s saab kasutada vaheldumisi raster- ja vektorgraafikat. Lähemalt vt Scratch Wiki.
RLPA muutujad, Scratch wiki
Muutuja on nimega koht arvuti mälus: mälupesa ehk väli. Programm (skript) saab täitmise ajal salvestada sinna väärtusi, muuta pesas olevat väärtust ja kasutada (lugeda) varem salvestatud väärtusi uute leidmiseks, kasutades avaldisi. Muutuja väärtust saab muuta ka nö "käsitsi" (vt allpool).
Muutuja väärtuseks võib olla arv, tekst (string) või tõeväärtus (tõene - true, väär - false).
Igal ajahetkel saab muutujal olla ainult üks väärtus. Väärtuse salvetamist muutujas nimetatakse omistamiseks. Uue väärtuse omistamisel muutujale, selle eelmine väärtus kaob.
Muutuja võib olla seotud ainult ühe spraidiga: lokaalne muutuja, või see võib olla ühine kõikidele projekti spraitidele: globaalne muutuja. Lokaalsele muutujale on otsene juurdepääs ainult selle spraidi skriptidest. Scratch 2.0-s saab kasutada ka nn pilvemuutjaid, mida saab kasutada andmevahetuseks erinevate projektide ja kasutajate vahel. Esialgu on nende võimalused võrdlemisi tagasihoidlikud. Muutuja skoop ehk nähtavus (kättesaadavus) määratakse muutuja loomise ajal.
Muutuja loomine toimub grupis Andmed asuva käsuga Loo muutuja. Käsu täitmisel küsib Scratch muutuja nime ja skoopi, kuvades vastava dialoogiboksi. Lokaalsete muutujate nimed võivad olla samad mitmel spraidil, kuid need ei tohi langeda kokku globaalse muutuja nimega.
Muutuja väärtust saab muuta skripti täitmise ajal plokidega (käskudega):
[võta muutuja = avaldis] ja [muuda muutuja avaldis võrra]
Siin muutuja on muutuja nimi (saab valida ploki menüüst) ja avaldis - väärtuse leidmise eeskiri. Erijuhul võib see olla ka konstant või muutuja. Avaldiste esitamiseks kasutatakse vastavaid plokke, mis asuvad grupis Arvud (vt allpool).
![]() |
Toodud skript leiab naturaalarvude ruutude summa alates |
NB! Tektipõhistes programmeerimiskeeltes nimetatakse taolisi käske omistamislauseteks, mille esitusviis on enamasti järgmine:
muutuja = avaldis ja muutuja = muutuja + avaldis
|
Näiteks kõrval on programmi fragment programmeerimiskeeles Visual Basic ruutude summa leidmiseks |
Skripti täimise ajal saab kuvada ja peita muutuja näidikut (monitori) plokidega
[näita muutujat muutuja] ja [peida mutuja muutuja].
Loendid 1, Loendid 2, Scratch wiki
Loend (List) on järjestatud elementide (väärtuste) kogum. Kogum tähistatakse ühe nimega, mida saab kasutada viitamiseks tervele kogumile ja koos indeksiga (järjenumbriga) - viitamiseks üksikutele elementidele. Taolisi loendeid nimetatakse teistes programmeerimiskeeltes tavaliselt ühemõõtmelisteks massiivideks ehk vektoriteks. Loendi elementideks võivad olla arvud ja tekstid (stringid).
Loendite loomine toimub ploki Andmed käsuga (nupuga) Loo loend. Koos esimese loendiga ilmuvad ka plokid (käsud) tegevuste määramiseks loenditega, vt plokk Muutujad plokkide kirjelduses.
![]() |
![]() |
Kui loend on loodud, ilmub Lavale vastav monitor. Alguses on see tühi ja piikuseks on 0. Liikmeid saab loendisse lisada ja muuta, tippides väärtusi otse monitorisse. Klõpsates märki + lisandub loendisse uus pesa. Lisamiseks võib kasutada plokke lisa (add) ja sisesta (insert) kas nö "käsitsi" või skriptis. Monitori suurust saab muuta, venitades alumisest parempoolsest nurgast. |
Loendi elemente saab importida tekstifailist (laiendiga .txt) ja ka eksportida tekstifaili. Vastavad käsud ilmuvad, kui teha monitoril paremklõps.
RLPA andmed avaldised, Scratch wiki
Scratch'is saab otseselt kasutada kahte tüüpi väärtusi: arve ja stringe (ehk tekste). Kaudselt on mängus ka tõeväärtused, need on võrdluste ja logikaavaldiste tulemuseks.
Arvud võivad esineda konstantidena, mida sisestatakse plokkide ettenähtud kohtadesse, nagu ,
, ning olla muutujate ja loendite elementide väärtusteks. Arvudega saab täita aritmeetikatehteid (+, -, *, /), võrrelda (<, =, >), kasutades vastavaid plokke (vt allpool). Arväärtuste jaoks on ettenähtud ka rida funktsioone.
Stringid (ehk tekstid) on suvalised märkide jadad. Neid saab samuti kasutada konstantidena, nagu plokis ning ka omistada muutujatele ja loendite elementide, nagu järgnevates plokkides
,
. Stringe saab ka omavahel võrrelda.
Stringide jaoks on kolm tehet (ühenda, eralda ja pikkus), mis on realiseeritud viiteplokkide abil (vt allpool)
Tõeväärtusel (loogikaandmete elemendil) on ainult kaks võimaliku väärtust: tõene (true) või väär (false). Toeväärtused tekkivad võrdluste (<, =, >), loogiliste operatsioonide (avaldiste) : ja (and), või (or) ja mitte (not) tulemusena. Ka mitmed plokid, nagu
gastavad tõeväärtusi (tõene või väär).
Avaldise abil saab anda eeskirja väärtuse leidmiseks. See koosneb operandidest ja tehtemärkidest.
Operandideks võivad olla konstandid, muutujad ja funktsioonid.
Tehted jagunevad aritmeetkateheteks: +, -, *, / ; võrdlusteheteks: <, =, > , tekstiteheteks (&, eralda, pikkus) ja loogikateheteks: ja, või, mitte.
Avaldiste esitamiseks kasutatakse spetsiaalseid plokke, mis asuvad grupis Tehted. Siin asuvad ka funktsioonide plokid.
RLPA Muutujad Scratchis, Scratch wiki
Ploki abil saab skript esitada küsimuse, millele kasutaja saab vastata tekstsisendiga klaviatuurilt. Ploki täitmisel skripti töö peatakse ja küsimus kuvatakse vastava spraidi juures nö kõnebaloonis, lava alumisse serva aga ilmub tekstiväli, kuhu saab tippida vajaliku väärtuse (tekst või arv). Peale seda, kui vajutakse klahvile Enter või klõpsatakse märkeruutu tekstivälja kõrval, võetakse kasutaja poolt sisestatu ploki
väärtuseks ja skripti töö jätkub. Viimase näol on tegemist, võiks öelda, eriliiki globaalse muutujaga, mis on kättesaadav kõikidele spraitidele.
Järgmise ploki küsi täitmisel asendab uus sisend ploki vastus eelmise väärtuse. Kui väärtust on vaja edaspidi kasutada, võib selle omistada muutujale.
Näide. Programm küsib kasutaja nime, pikkuse ja massi ning leiab kehaindeksi, kasutades valemit:
kehaindeks = mass / pikkus2, kus massi ühikuks on kilogramm ja pikkuse ühikuks on meeter.
Programm demonstreerib ka muutujate, arvavaldiste ja tekstide ühendamise kasutamist.
Kasutusel on neli muutujat: nimi, L (pikkus), mass ja indeks.
![]() |
Peale esimese ploki küsi täitmist omistakse ploki vastus väärtus (näit. Peeter) muutujale nimi. Teises plokis küsi on muutuja nimi väärtus ühendatud konstandiga ja kõnebaloonis kuvatakse tekst: Peeter! Kui pikk Sa oled (cm)? Järgmise ploki täitmisel omistatakse kasutaja poolt sisestaud väärtus muutujale L, mida kasutatakse pikkuse säilitamiseks. Kolmas küsi plokk on analoogiline eelmisega. Allpool on toodud lava väljanägemine selle ploki täitmise ajal. Kassi juures on kuvatud küsimus. |
![]() |
![]() |
Scratch wiki
Võimalus kasutajal oma käsuplokke luua on üheks olulisemaks versiooni 2.0 täienduseks. Scratch wiki. Scratchis on olemas väga kasulik võimalus programmi jagamiseks üksusteks (skriptideks) ja koostöö korraldamiseks nende vahel teadete saatmise ja vastuvõtmise mehhanismi kaudu. Kuid andmevahetuse vahendid olid seni võrdlemisi kesised, piirdudes peamiselt globaalsete muutujate ja loendite kasutamisega.
Nüüd aga saab luua protseduure, mis võimaldavad kasutada andmevahetuseks protseduuride (skriptide) vahel parameetreid ja argumente. See on üldlevinud tehnika andmevahetuse korraldamiseks kõikides nö „suurtes“ keeltes (C, Java, Python, Visual Basic jne). Kahjuks on Scratchis esialgu võimalused üsna tagasihoidlikud, piirdudes üksikväärtuste kasutamisega sisendparameetrite ja –argumentidena. Puudub võimalus väärtuste tagastamiseks protseduurist (so funktsioonide loomine) ja loendite kasutamiseks parameetrite ja argumentidena. Arendajad lubavad lähitulevikus lisada ka need vahendid.
Formaalselt taandub asi nn kasutaja käsuplokkide (sisuliselt kasutaja protseduuride) loomisele. Nende väljanägemine ja kasutamine on analoogiline süsteemi sisseehitatud standardplokkidega.
Teeme tutvumiseks käsuploki Hyppa, mis peaks panema spraidi hüppama. Sprait kerkib etteantud arvu kordi (n) antud kõrgusele ja laskub peale väikest pausi alla. Enne hüpete algust kuvab sprait mingi teate, näiteks tervituse. Näiteks on toodud kaks võimalikku pöördumist erinevate argumentidega.
Esimesel juhul peab sprait tegema 3 hüpet kõrgusele 30 pikslit ja „ütleb“ Tere!. Teisel pöördumisel on 2 hüpet kõrgusele 40 pikslit ja sprait ei ütle midagi: vastav argument puudub.
![]() |
Seega on ette nähtud kolm argumenti: esimesed kaks on arvud, kolmas on tekst. Sellega peab arvestama ploki kasutamisel. Kasutaja käsuploki loomine seisneb vastava protseduuri defineerimises (loomises). See koosneb päisest ja kehast. Vaadeldava näite korral näeb protseduur välja taoliselt. Päis sisaldab käsuploki nime (siin Hyppa) ja parameetreid (siin h, n ja txt) ning märgendeid (siin kõrgus, n ja teade). Viimased ei ole tegelikult kohustuslikud. Päise alusel moodustatakse grupi Lisaplokid alas käsuplokk. Antud juhul see näeb välja järgmiselt. |
Keha kujutab endast skripti, milles kasutatakse käsuplokile vajalikke plokke. Oluline on, et skriptis kasutatakse parameetreid. Parameetrit txt kasutatakse plokis ütle kuvatava teate määramiseks. Parameeter n näitab plokis korda kordamiste arvu. Parameetrit h kasutatakse kaks korda: kerkimise ja laskumise suuruse näitamiseks.
Tahaks rõhutada, et parameetrid kujutavad endast tinglikke muutujaid, mis saavad väärtused pöördumishetkel vastavatelt argumentidelt. Parameetrid kehtivad ainult antud protseduuris. Teistes protseduurides ja projektis väljaspool protseduure võib kasutada samu nimesid mingite teiste muutujate või loendite tähistamiseks.
![]() |
Kasutaja plokkide päise loomine toimub grupi Lisaplokid vahendite abil. Alguses on grupi ala üsna tühi, seal on ainult käsunupp Tee plokk. Kui klõpsata seda nuppu, ilmub boks, milles on tühi ploki alguse makett. Siia saab sisestada päise komponendid: nimi, parameetrid ja märgendid. Klõpsates kolmnurgakest teksti Valikud ees, saab kuvada loendi, mille abil toimub parameetrite ja märgendite kohta käiva info sisestamine ja vajadusel ka redigeerimine. Kõrvaloleval pildil on näidatud pooleliolev seis. Toimub teise parameetri kirjeldamine. |
Saab kasutada kolme tüüpi parameetreid: arv-, tekst- ja loogikaparameetrid. Kui klõpsata lisamisnuppu loendi paremas tulbas, lisatakse maketile uus väli. Parameetri puhul on väljas kuvatud parmeetri tüüp ja järjenumber (number1, string1, boolean1). Parameetri nimeks võib jätta ka selle teksti, kuid parem on anda omapoolne nimi, klõpsates välja ja tippides nime. Kui tegemist on märgendiga, kuvatakse tühi väli, kuhu saab sisestada soovitava teksti. Aktiivse välja kohal on ristike, mida klõpsates väli eemaldatakse.
Nüüd võib käsuplokkidest selle alla luua nö peaaegu tavalisel viisil vajaliku skripti. Üheks oluliseks eripäraks on parameetrite lisamine plokkidesse. Parameeter lohistatakse päisest vajalikku kohta plokis, nagu tehakse muutujatega tavalistes skriptides. Päisesse jääb parameeter alles.
Eristatakse kolme plokitüüpi: pinuplokid, päiseplokid ja viiteplokid.
Pinuplokid (Stack Blocks). Sellistel plokidel nagu on õõnsus üleval ja muhk all, mille abil saab plokke ühendada pinuks
. Mitmetel pinuplokidel on sees ava, kuhu saab tippida väärtuse (10 plokis liigu)
või paigutada mingi viiteploki (x0 ja avaldis y0+13 plokis mine). Mõnedel plokidel on sees avanevad rippmenüüd, kust saab valida vajaliku väärtuse nagu "hiir" plokis osuta ja "näu" plokis mängi heli
. Pinuplokidesse, millel on C kujuline "suu" nagu
, saab paigutada teisi pinuplokke.
Pinuplokid moodustavad põhiosa plokidest. Nende abil saab määrata vajalike tegevusi spraitidega ja juhtida tegevuste täitmise järjekorda: kirjeldada valikuid ja kordusi jm. Teistes programmeerimiskeeltes vastavad taolistele plokidele laused või protseduurid.
Päiseplokid (Hats). Sellistel plokidel, nagu , on kumer ülemine serv ja all on ühendamise muhk. Päiseplokid paigutakse pinude peale ja need reageerivad vastavatele sündmustele: vajutus etteantud klahvile (näiteks tühik), spraidi või Lava klõpsamisele teate saabumine teiselt skriptilt jm. Sündmuse esinemisel käivitatakse alloleva skripti (pinu) plokid.
Viiteplokid (Reporters). Need plokid, nagu ,
, on ettenähtud teiste plokide sisendalade täitmiseks. Viiteplokid ümardatud otstega, nagu
,
,
võimaldavad viidata arvudele ja stringidele, kasutades muuhulgas ka muutujaid ja avaldisi. Neid paigutatakse ümardatud otstega ja ristkülikukujulistesse avadesse, nagu
,
. Viitamisplokid teravatipuliste otstega, nagu
,
viitavad loogilistele väärtustele (tõene voi väär), neid saab paigutada teravatipulistesse ja ristkülikukujulistesse avadesse, nagu
,
. Mõnede viiteplokide ees, nagu
, on märkeruut. Kui klõpsata seda, ilmub Lava alas nn monitor ehk näidik, milles kuvatakse antud viiteploki väärtus. Viimase muutumisel uuendatakse ka monitoris olev väärtus. Monitor võib kuvada viiteploki väärtust mitmes erinevas vormingus:
![]() |
Väike monitor viiteploki nimega (näit spraidi omadus või muutuja nimi) | |
![]() |
Suur monitor ilma nimeta | |
![]() |
Monitor liuguriga (kerimisribaga), millega saab muuta viiteploki väärtust (võimlik ainult muutujate jaoks) |
Topeltklõps või paremklõps monitoril viib selle ühest vormingust teisse. Liuguriga vorming on võimalik ainult kasutaja poolt loodud muutujate jaoks. Liuguri jaoks saab määrata minimaalse ja maksimaalse väärtuse.
Informatsiooni plokkide kohta saab ka dokumendist Scratch'i abiinfo ekraanikuvad.
Plokid | Selgitused |
![]() ![]() |
Viib spraidi edasi või tagasi (-) |
![]() ![]() |
Pöörab spraiti päripäeva (- vastupäeva) |
![]() ![]() |
Pöörab spraiti vastupäeva (- päripäeva) |
![]() ![]() |
Suunab (pöörab) spraiti etteantud suunas (0 - ülesse, 90-paremale, 180-alla, -90-vasakule, X-suvaline nurk) |
![]() ![]() |
Suunab spraidi hiire kursorile või teisele spraidile |
![]() ![]() |
Viib spraidi punkti koordinaatidega x-y |
![]() ![]() |
Viib spraidi hiire kursori või teise spraidi asukohta |
![]() ![]() |
Viib spraidi sujuvalt antud ajaga antud punkti (x-y) |
![]() ![]() |
Muudab spraidi x väärtust antud arvu võrra |
![]() ![]() |
Võtab spraidi x koordinaadi väärtuseks antud arvu |
![]() ![]() |
Muudab spraidi y väärtust antud arvu võrra |
![]() ![]() |
Võtab spraidi y koordinaadi väärtuseks antud arvu |
![]() ![]() |
Muudab spraidi suuna vastupidiseks, kui see puudutab serva |
![]() ![]() |
Viitab spraidi x koordinaadile (-240 kuni 240) |
![]() ![]() |
Viitab spraidi y koordinaadile (-180 kuni 180) |
![]() ![]() |
Viitab spraidi suunale (0 - ülesse, 90-paremale, 180-alla, -90-vasakule, X-suvaline nurk) |
![]() |
Pööramisstiile on kolm: suuvline, vasak-parem, ei pöördu. Pööramise stiil avaldab mõju ka käskude [kui äärel põrka], [pööra ...] ja [osuta ...] täitmisele. |
Plokid | Selgitused |
![]() ![]() |
Lülitab mootori sisse etteantud ajaks |
![]() ![]() |
Lülitab mootori sisse |
![]() ![]() |
Lülitab mootori välja |
![]() ![]() |
Määrab mootori võimsuse (vahemikus 0 kuni 100) ja lülitab selle sisse |
![]() ![]() |
Määrab mootori pöörlemise suuna (seda viisi - päripäeva, toda viisi - vastupäeva, vastupidiseks - muudab suuna vastupidiseks) |
Plokid | Selgitused |
![]() ![]() |
Muudub spraidi välimust, lülitudes etteantud kostüümile |
![]() ![]() |
Võtab spraidile järgmise kostüümi. Kui jõutakse loetelu lõppu, minnakse esimese kostüümi juurde |
![]() ![]() |
Viitab spraidi etteantud numbriga kostüümile |
![]() ![]() |
Muudab Lava välimust, lülitudes etteantud taustale |
![]() ![]() |
Võtab Lavale järgmise tausta. Kui jõutakse loetelu lõppu, minnakse esimese tausta juurde |
![]() ![]() |
Viitab Lava etteantud numbriga taustale |
![]() ![]() |
Kuvab spraidi juures kõneballooni (tekstiboksi) antud tekstiga antud aja jooksul |
![]() ![]() |
Kuvab spraidi juures kõneballooni antud tekstiga. Ballooni saab eemaldada, käivitades sama ploki ilma tekstita |
![]() ![]() |
Kuvab spraidi juures mõtlemist imiteeriva kõneballooni (tekstiboksi) antud tekstiga antud aja jooksul |
![]() ![]() |
Kuvab spraidi juures mõtlemist imiteeriva kõneballooni |
![]() ![]() |
Muudab spraidi graafilist efekti (värv, keere, heledus jm) antud väärtuse võrra. Efekti saab valida mernüüst |
![]() ![]() |
Võtab spraidi graafilise efekti jaoks antud väärtuse. Enamiku efektide väärtused on vahemikus -100 kuni 100 |
![]() ![]() |
Eemaldab spraidi kõik graafilised efektid |
![]() ![]() |
Muudab spraidi suurust antud väärtuse (%) võrra |
![]() ![]() |
Võtab spraidi suuruseks antud protsendi originaalist |
![]() ![]() |
Näitab spraidi suurust protsentides originaalist |
![]() ![]() |
Muudab spraidi nähtavaks |
![]() ![]() |
Muudab spraidi nähtamatuks. Kui sprait on nähtamatu, ei tuvasta teised spraidid seda plokiga puudutab? |
![]() ![]() |
Toob spraidi esiplaanile |
![]() ![]() |
Viib spraidi tahapoole antud kihtide arvu võrra |
Plokid | Selgitused |
![]() ![]() |
Alustab menüüst valitud heli mängimist ja kohe läheb järgmise ploki juurde, samal ajal heli ikka jätkub |
![]() ![]() |
Mängib heli ära ja läheb järgmise ploki juurde |
![]() ![]() |
Peatab kõikide helide mängimise |
![]() ![]() |
Mängib menüüst valitud trummi heli antud löökide arvu |
![]() ![]() |
Teeb pausi (ei mängi midagi) etteantud arvu lööke |
![]() ![]() |
Mängib muusika noodi (suurem arv suurema heli kõrguse jaoks) antud löökide arvu |
![]() ![]() |
Määrab muusikariista tüübi, mida sprait kasutab plökkides mängi nooti. (Igal spraidil on oma instrument) |
![]() ![]() |
Muudab spraidi helitugevust antud suuruse võrra |
![]() ![]() |
Võtab spraidi helitugevuseks antud suuruse |
![]() ![]() |
Näitab spraidi helitugevuse väärtust |
![]() ![]() |
Muudab spraidi mängutempot antud suuruse võrra |
![]() ![]() |
Võtab spraidi tempoks antud väärtuse (lööke minutis) |
![]() ![]() |
Näitab spraidi mängutempot (lööke minutis) |
Plokid | Selgitused |
![]() ![]() |
Kustutab pliiatsi joonised ja spraitide jäljendi Laval |
![]() ![]() |
Laseb pliiatsi alla, liikumisel see joonistab |
![]() ![]() |
Tõstab pliiatsi ülesse, liikumisel see ei joonista |
![]() ![]() |
Muudab pliiatsi värvi valikuga paletist pipeti abil |
![]() ![]() |
Muudab pliiatsi värvi antud väärtuse võrra |
![]() ![]() |
Võtab pliiatsi värviks antud väärtuse. (väärtus 0 on vikkerkaare punane ots, väärtus 100 - sinine ots) |
![]() ![]() |
Muudab pliiatsi varjundit antud väärtuse võrra |
![]() ![]() |
Võtab pliiatsi varjundiks antud väärtuse. (väärtus 0 on väga tume, väärtus 100 - väga hele) |
![]() ![]() |
Muudab pliiatsi suurust antud väärtuse võrra |
![]() ![]() |
Võtab pliiatsi suuruseks antud väärtuse |
![]() ![]() |
Jätab spraidi pildi jäljendi Lavale |
Plokid | Selgitused |
![]() ![]() |
Käivitab alloleva skripti, kui klõpsatakse rohelist lippu |
![]() ![]() |
Käivitab alloleva skripti, kui vajutatakse antud klahvi |
![]() ![]() |
Käivitab alloleva skripti, kui klõpsatakse antud spraiti |
![]() |
Käivitab skripti, aktiivseks muutub antud taust |
![]() ![]() |
Käivitab alloleva skripti, kui saabub antud teade |
![]() ![]() |
Saadab teate ja käivitab skriptid, milledel on olemas vastuvõtja antud teatele ning jätkab kohe täitmis |
![]() ![]() |
Saadab teate ja käivitab skriptid, milledel on olemas vastuvõtja antud teatele, ootab nende täimise lõppu ja jätkab järgmisest plokist |
![]() ![]() |
Peatab skripti täitmise, ootab antud aja ja jätkab täitmist |
![]() ![]() |
Ootab kuni tingimus saab tõeseks ning seejärel käivitab allpool olevad plokid |
![]() ![]() |
Täidab seesolevaid plokke lõputult |
![]() ![]() |
Täidab seesolevaid plokke näidatud arvu kordi |
![]() ![]() |
Täidab seesolevaid plokke seni, kuni tingimus saab tõeseks |
![]() ![]() |
Kui tingimus on tõene, täidab seesolevad plokid |
![]() ![]() |
Kui tingimus on tõene, täidab kui-osas olevad plokid, kui ei ole, täidab muidu-osas olevad plokid |
![]() |
Ühe käsu kolm varianti petata antud skript peatada kõik skriptid peatada teised selle spraidi skriptid |
Plokid | Selgitused |
![]() ![]() |
Tagastab väärtuse tõene, kui sprait puudutab antud spraiti, Lava serva või hiire kursorit. Objekt valitakse menüüst |
![]() ![]() |
Tagastab väärtuse tõene, kui sprait puudutab antud värvi. Klõpsake värvi ava plokis ja ilmuva pipetiga klõpsake vajaliku värvi mingil spraidill või Laval |
![]() ![]() |
Tagastab väärtuse tõene, kui esimene värv (spraidi sees) puudutab teist värvi (teisel spraidil või Laval). Klõpsake värvi ava plokis ja ilmuva pipetiga klõpsake vajaliku värvi mingil spraidill või Laval |
![]() ![]() |
Peatab skripti täitmise, kuvab antud teksti kõnebaloonis spraidi juures ning tekstivälja Lava alumises ääres. Kui kasutaja tipib vastuse ning vajutab klahvi Enter või klõpsab märkeruutu, võetakse sisend ploki vastus väärtuseks ja skripti töö jätkub. |
![]() ![]() |
Sisaldab viimasena täidetud ploki küsi sisendit. On ühine kõikide spraitide jaoks (nagu globaalne muutuja) |
![]() ![]() |
Viitab hiire kursori x-koordinaadile |
![]() ![]() |
Viitab hiire kursori y-koordinaadile |
![]() ![]() |
Tagastab väärtuse tõene, kui hiire vasak nupp on all |
![]() ![]() |
Tagastab väärtuse tõene, kui on vajutatud antud klahvile |
![]() ![]() |
Tagastab kauguse antud spraidist |
![]() ![]() |
Paneb taimeri algseisu (nulli) |
![]() ![]() |
Tagastab taimeri jooksva aja sekundites alates algseisu hetkest |
![]() ![]() |
Tagastab näidatud spraidi (valida menüüst) omaduse: asukoht, suurus, suund, kostüüm, lokaalne muutuja (valida menüüst) |
![]() ![]() |
Tagastab mikrofonilt tuleva heli tugevuse (1 kuni 100) |
![]() ![]() |
Tagastab väärtuse tõene, kui heli on tugevam 30-st |
|
Tagastab antud sensori väärtuse. Võib olla PicoBoard seade http://www.playfulinvention.com/picoboard.html või LEGO® WeDo™ http://www.legoeducation.com |
![]() ![]() |
Tagastab väärtuse tõene, kui antud sensor on sees. Arvutiga peab olema ühendatud PicoBoard seade. http://www.playfulinvention.com/picoboard.html |
Plokid | Selgitused |
![]() |
Liidab kaks arvu |
![]() |
Lahutab esimesest arvust teise |
![]() |
Korrutab kaks arvu |
![]() |
Jagab esimesese arvu teisega |
![]() ![]() |
Tagastab juhusliku arvu antud vahemikus |
![]() |
Tagastab tõene, kui esimene väärtus on väiksem teisest |
![]() |
Tagastab tõene, kui väärtused on võrdsed |
![]() |
Tagastab tõene, kui esimene väärtus on suurem teisest |
![]() ![]() |
Tagastab tõene, kui tingimused on tõesed |
![]() ![]() |
Tagastab tõene, kui vähemalt üks tingimustest on tõene |
![]() ![]() |
Tagastab tõene, kui tingimus väär, vastupidisel juhul väär |
![]() ![]() |
Ühendab kaks teksti (stringi). Võivad olla avaldised |
![]() ![]() |
Tagastab antud teksti pikkuse. Tekst võib olla avaldis |
![]() ![]() |
Tagastab antud numbriga tähe (märgi). Võib olla avaldis |
![]() ![]() |
Tagastab antud funktsiooniga (abs, sqrt, sin, cos, tan, asin, acos, atan, ln, log, e^, 10^) leitud väärtuse |
![]() ![]() |
Tagastab jäägi esimese arvu jagamisest teisega |
![]() ![]() |
Tagastab antud arvule lähima täisarvu |
Plokid | Selgitused |
![]() ![]() |
Võimaldab luua muutuja ja anda sellele nime. Esimese muutuja loomisel, ilmuvad ka muutuja plokid. Saab valida, kas muutuja kuulub kõikidele spraitidele (gloobaalne) või ainult ühele (lokaalne) |
![]() ![]() |
Eemaldab muutuja |
![]() |
Muutuja nimi: Viitab muutuja väärtusele. Kui märkeruut on märgistatud, kuvatakse Laval monitor muutuja väärtusega |
![]() ![]() |
Omistab muutujale antud väärtuse. Väärtus võib olla määratud konstandi, muutuja või avaldise abil. Omistuslause teistes programmeerimiskeeltes muutuja = avaldis |
![]() ![]() |
Muudab muutuja väärtust antud väärtuse võrra muutuja = muutuja + avaldis |
![]() ![]() |
Kuvab Laval monitori (näiduki) muutuja väärtusega |
![]() ![]() |
Peidab (teeb nähtamatuks) muutuja monitori Laval |
![]() ![]() |
Võimaldab luua uue loendi ja anda sellele nime. Esimese loendi loomisel, ilmuvad ka loendi plokid. Saab valida, kas loend kuulub kõikidele spraitidele (gloobaalne) või ainult ühele (lokaalne) |
![]() ![]() |
Eemaldab loendi |
![]() ![]() |
Loendi nimi. Viitab tervele loendile. Kui märkeruut on märgistatud, kuvatakse loend Laval |
![]() ![]() |
Lisab antud liikme loendi lõppu. Liige võib olla arv või suvaline tekst (string). Võib olla esitatud ka avaldise abil |
![]() ![]() ![]() |
Eemaldab ühe või kõik liikmed loendist. Võib sisestada eemaldava liikme järjenumbri (arv või muutuja) või valida rippmenüüs pakutavatest sobiva variandi. Valik "viimane" (last) eemaldab viimase liikme. Valik "kõik" (all) eemaldab kõik liikmed. |
![]() ![]() |
Sisestab (paneb vahele) elemendi antud positsioonile loendis. Võib anda sisestava liikme järjenumbri (arv või muutuja) või valida rippmenüüst sobiva variandi. Valik "viimane" (last) lisab liikme loendi lõppu. Valik "mõni" (any) lisab liikme juhuslikule positsioonile. |
![]() ![]() |
Asendab antud numbriga elemendi loendis. Võib anda liikme järjenumbri (arv või muutuja) või valida rippmenüüst sobiva variandi. Valik "viimane" (last) asendab viimase elemendi. Valik "mõni" (any) asendab juhusliku liikme. Loendi pikkus ei muutu |
![]() ![]() |
Viitab antud numbriga elemendile loendis. Võib anda liikme järjenumbri (arv või muutuja) või valida rippmenüüst sobiva variandi. Valik "mõni" (any) annab juhusliku liikme. |
![]() ![]() |
Näitab liikmete arvu loendis |
![]() ![]() |
On tõene, kui antud väärtus sisaldub loendis. NB! Eristatakse suuri ja väikesi tähti |