KasutusjuhendSissejuhatusScratch on uus graafiline programmeerimiskeel, mis teeb lihtsaks lugude, mängude, animatsioonide aga ka tõsisemate (igavamate) 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 lelu. Antud materjal kujutab Scratch'i abiinfosüsteemi kuuluva juhendi: "Scratch. Reference Guide" (versioon 1.3, august 2008) tõlget. Sellesse on aga lisatud mõningat lisainfot: eeskätt arvude, stringite, muutujate, avaldiste ja loendite kohta. Informatsioon keskkonna, käskude (plokkide), põhimõistete ja olulisemate teadete kohta on tüüpiliselt toodud paralleelselt eesti ja inglise keeles. Juhend on olemas ka PDF-vormingus. Scratch'i programme (projekte) saab täita otse tema enda kasutajliideses või neid saab sängitada apletidena veebi dokumentidesse. 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, Scratch'i koosseisu kuuluva joonistamisredaktoriga (Paint Editor), importida failist või veebist. Sa saad anda spraidile korraldusi, lastes seda liikuda, mängida muusikat, suhelda teiste spraitidega jm. Et öelda spraidile, mida teha, moodustad sa hiirega graafilistest plokidest (korraldustest) 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 voimalusi: 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 kasutajaliidesEestikeelne liidesLavaLava (stage) on koht, kus sa võid näha, kuidas ärkavad ellu sinu poolt koostatud lood, mängud ja animatsioonid. Spraidid liiguvad ja suhtlevad teiste spraitidega laval.
Uute spraitide lisamineKui sa stardid uue Scratch'i projektiga, on laval ainult kassi sprait. Uute spraitide lisamiseks (loomiseks) saab kasutada allpool näidatud nuppe
Kui soovid kustutada spraiti, vali käärid Tööriistaribalt ja klõpsa spraiti või tee paremklõps spraidil (Mac: Ctrl+klõps) ja vali ilmuvast menüüst kustuta (delete). Spraitide loeteluSpraitide loetelus on kuvatud kõikide, projektis kautatavate spraitide, ikoonid. Iga spraidi jaoks on näidatud selle nimi ja skriptide arv.
Plokkide palett ja skriptide ala
|
Kui lohistada 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 Plokkide paletti 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 loetelus. Kui ikooni ümber tekkib valgene joon, lasta hiire nupp lahti.
Mitmetel pinuplokidel, 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 plokidel, 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.
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 (Costumes) lipikut
Antud spraidil on kaks kostüümi, mis 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.
Uue kostüümi loomiseks on kolm võimalust:
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. Paremklõps kostüümil kuvab menüü, mis pakub võimalust muuta kostüüm omaette spraidiks või eksportida see eraldi faili.
Nupp Redigeeri (Edit) vöimaldab muuta või täiendada kostüümi Joonistamisredaktoriga. Nupp Kopeeri (Copy) teeb kostüümist koopia. Ümargune nupuke ristiga, kustutab kostüümi.
Spraidiga seotud helide vaatamiseks, lindistamiseks ja impordiks klõpsa vahelehe lipikut Helid (Sounds)
Scratch saab lugeda MP3 faile ja pakimata WAV, AIF ja AU faile.
Spraidi jooksev info peegeldab spraidi järgmisi omadusi: nimi, x-y positsioon, suund ja lukustamise olek.
Soovi korral saab muuta spraidi nime, praegu on see kiisu.
Spraidi koordinaadid: x ja y, näitavad selle jooksvat asukohta laval.
Spraidi suund näitab suunda, kuhu sprait liigub, kui käivitatakse 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 spraidi juures näitab selle jooksvat suunda. Vedades seda joont, saab muuta spraidi suunda. Topeltklõps paneb spraidi suuna algseisu (90 kraadi). Suunda tavaliselt muudetakse skriptide käskudega: osuta (point) ja pööra (turn).
Klõpsatus taba kohal, võtab spraidi lukust lahti või lukustab selle. Kui sprait on lukustamata, saab selle asukohta muuta lohistamise teel esitluse (täisekraani) olekus ja vebi leheküljel.
Spraidi ekspordiks, peab seda klõpsama hiire parempoolse nupuga laval või spraitide loetelus. Eksporditud spraiti saab importida teisse projekti.
Spraidi (kostüümi) käitumist suuna muutmisel (näiteks põrkamisel servast), saab määrata Pööramise stiili (Rotation Style) nuppudega.
|
Tööriistariba nupudega saab määrata teatud tegevusi objektidega projekti loomise faasis.
Klõpsa vajaliku nuppu ja seejärel objekti |
Uus (New), Ava (Open), Salvesta (Save), Salvesta nimega (Save As) - määravad tegevusi projekti failidega.
Jaga! (Share!). Laeb projekti ülesse Skratch'i kodusaidile (http://scratch.mit.edu)
Tagasivõtt (Undo). Võimaldab taastada viimati eemaldatud ploki, skripti või spraidi (kuid ei võimalda võtta tagasi teisi tegevusi).
Keel (Language). Võimaldab valida keelt. Skratch'i viimases versioonis (1.3.1) on olemas ka eesti keel. Tegemist on tõlke eelmise versiooniga. Antud materjalis kasutatakse tõlke uuendatud versiooni. On muudetud mõnede plokkide ja mõistete eestikeelseid nimetusi. Soovi korral, võib laadida alla viimase faili tõlkega: et.po ja salvestada see oma arvuti Scratch'i alamkaustas ...\locale. Tavaliselt (vaikimisi) asuvad Scratch'i failid aadressil: C:\Program Files\Scratch\...
NB! Faili avamisel brauseris, tõlgendatakse seda tekstifailina (laiend .txt). Salvestamisel kausta locale, peab faili nimele tingimata lisama laiendi .po.
Erimenüü (Extras). Kuvab lisamenüü, kust saab valida mõningaid spetsiifilisi tegevusi.
Soovid abi? (Want Help?). Viib lehele, kus on viidad juhenditele, korduma kipuvatele küsimustele jm.
NB! Infot programmi plokide kohta saab kui teha plokil paremklõps ja valida ilmuvast menüüst abi (help)
Nupp rohelise lipuga Lava ülemises servas käivitada kõik skriptid, mille esimeseks plokiks on
Eesti | English |
Kui see plokk on mitmel skriptil, käivitakse need üheaegselt ja täidetakse paralleelselt.
Esitlusolekus (Presentation Mode) on lipu ikoon lava ülemises parempoolses nurgas.
NB! Vajutusel klahvile Enter on sama efekt nagu rohelise lipu klõpsamisel.
Joonistamisredaktori abil saab luua ja redigeerida kostüüme ja taustu.
Joonistamisredaktoril on järgmised tööriistad
Jooksvad värvused (Current Colors): esiplaan ja taust. Neid saab muuta, kasutades värvide paletti.
Nupp Pane paika pööramise keskpunt nupp võimaldab määrata kostüümi (spraidi) jaoks, mille ümber see pöördub Laval vastavate käskude kasutamisel.
Muutuja (variable) 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 võib olla ühine kõikidele projekti spraitidele: globaalne muutuja. Lokaalsele muutujale on otsene juurdepääs ainult selle spraidi skriptidest. Muutuja skoop ehk nähtavus (kättesaadavus) määratakse muutuja loomise ajal.
Muutuja loomine toimub grupis Muutujad asuva käsuga Tee muutuja (Make variable). 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.
Peale esimese muutuja loomist, ilmuvad ka vastavad muutujatega seotud plokid: viitamisplokk muutuja nimega (siin loendur) ning pinuplokid: võta väärtuseks (set to), muuda (change), näita muutujat (show variable) ja peida muutuja (hide variable). Vt. Plokkide tüübid ja Muutujad.
Viitamisplokki saab kasutada skriptide pinuplokides viitamiseks muutujale. Ploki ees on märkeruut, mille abil saab lasta kuvada või peita muutuja pesa selle jooksva väärtusega Lava alas.
Pinuplokkide sees on avanev menüü, mille abil saab valida skriptis vajaliku muutuja nime. Kahel esimesel plokil (võta väärtuseks ja muuda väärtust) on ka väli, kuhu saab sisestada väärtuse või paigutada viiteploki muutuja nimega, avaldisega jm.
Muutuja väärtust saab muuta skripti täitmise ajal plokidega (käskudega):
võta muutuja väärtuseks avaldis - set muutuja to avaldis ja
muuda muutuja avaldis võrra - change muutuja by avaldis.
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 1-st kuni n. |
NB! Teistes 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.
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 kogumeid nimetatakse teistes programmeerimiskeelte ühemõõtmelisteks massiivideks ehk vektoriteks. Loendi elementideks võivad olla arvud ja tekstid (stringid).
Loendite loomine toimub ploki Muutujad (Variables) käsuga (nupuga) Tee loend (Make list). 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.
Scratch'is saab otseselt kasutada kahte tüüpi väärtusi: arve ja stringe. 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 alltoodud plokkides . Stringe saab ka omavahel võrrelda.
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 tagastavad 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.
|
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 "koer" plokis osuta ja "näu" plokis mängi heli . Mõ nede 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, milles kuvatakse antud viiteploki väärtus. Viimase muutumisel uuendatakse ka monitoris olev väärtus. Monitor voib kuvada viiteploki väärtust mitmes erinevas vormingus:
väike monitor viiteploki nimega (näit muutuja nimi) | ||
suur monitor ilma nimeta | ||
monitor slaideriga, millega saab muuta viiteploki väärtust (võimlik ainult muutujate jaoks) |
Topeltklõps või paremklõps monitoril viib selle ühest vormingust teisse. Slaideriga vorming on võimalik ainult kasutaja poolt loodud muutujate jaoks. Slaideri jaoks saab määrata minimaalse ja maksimaalse väärtuse.