# Opi koodaamaan Scratchilla – Pikaopas

Jos etsit **helppoa tapaa oppia koodaamaan**, et tarvitse etsiä enää. Vaikka Scratch on suunnattu ensisijaisesti lapsille, kuka tahansa voi käyttää sitä koodaamisen oppimiseen. Tässä opetusohjelmassa selitämme, mikä Scratch on ja miten koodaaminen Scratchilla toimii.

## Mikä on ainutlaatuista Scratch-ohjelmoinnissa?

Scratch perustuu graafiseen käyttöliittymään, jonka avulla koodaaminen on mahdollista ilman monimutkaista kielisyntaxia tai koodirivien kirjoittamista. Scratch on suunniteltu ensisijaisesti koodaamisen aloittelijoille. Siksi käytettävyys on etusijalla monipuolisten toimintojen sijaan. Näistä rajoituksista huolimatta Scratch säilyttää kuitenkin joitakin perinteisten ohjelmointiparadigmojen tärkeitä ominaisuuksia. Scratch on:

- **visuaalinen**: kaikki Scratch-elementit esitetään ymmärrettävällä graafisella esityksellä. Esimerkiksi ohjelmointikomentoja esitetään lohkoilla. Lisäksi ne voidaan lisätä ja yhdistellä kätevästi vetämällä ja pudottamalla.
- **Objektisuuntautunut**: Scratch-ohjelmoinnissa ei ole luokkia tai perintäjärjestelmää. Kun kyse on datan kapseloinnista (määriteltyjen rajapintojen kautta tapahtuva kontrolloitu pääsy dataan) ja polymorfismista (objektit voivat ottaa erilaisia datatyyppejä), Scratch osoittaa kuitenkin objektisuuntautuneen ohjelmointiparadigman ominaisuuksia.
- **imperatiivinen**: jotkut Scratchin skriptit noudattavat imperatiivista ohjelmointiparadigmaa. Esimerkiksi käskysekvenssit määrittelevät, missä järjestyksessä toimet on suoritettava.
- **Tapahtumakeskeinen**: jokainen Scratch-projektissa käyttämäsi skripti käynnistyy heti, kun sen otsikkolohkossa määritelty tapahtuma tapahtuu. **Odota-lohkon avulla** voit viivästää projektin lataamista, kunnes tietty tapahtuma tapahtuu.
- **valmius käsitellä rinnakkaisuutta**: Scratch tukee alusta alkaen tietokoneohjelmien jakamista yksittäisiin alikomponentteihin, mikä on rinnakkaisohjelmoinnin keskeinen ominaisuus.

## Scratch-koodausopas

Sanonta “harjoitus tekee mestarin” pätee myös Scratch-koodaukseen. Vaikka kielen oppimiskynnys on selvästi matalampi kuin perinteisten ohjelmointikielten, Scratch-ympäristöön ja Scratch-koodauslohkojen taitavaan käyttöön tutustuminen vaatii silti jonkin verran aikaa. Seuraavassa opetusohjelmassa näytämme, miten koodataan Scratchilla.

Huomio Jos haluat auttaa lapsia oppimaan koodaamaan Scratchilla, on parasta tutustua ensin itse avoimen lähdekoodin alustaan. Mitä paremmin ymmärrät kielen ja sen käyttöliittymän, sitä paremmin voit auttaa lapsia heidän ensimmäisissä askeleissaan ohjelmoinnin maailmaan. Jos haluat oppia lisää hauskoista tavoista opettaa lapsille ohjelmointia, lue artikkeli”Ohjelmointi lapsille: miten lapset oppivat ohjelmoimaan ja pitävät siitä hauskaa”.

### Käyttöliittymän navigointi

Jos olet luonut käyttäjätilin ja kirjautunut profiiliisi, voit valita useista eri vaihtoehdoista näytön oikeassa yläkulmassa sijaitsevasta valikkopalkista.

Kun napsautat **Tili-painiketta**, voit hallita henkilökohtaista profiiliasi, muuttaa sijaintiasetuksiasi, salasanaasi ja sähköpostiosoitettasi tai avata aktiivisten projektien yleiskatsauksen (**Omat asiat**). Voit myös kirjautua ulos täältä:

[![Kuva: Learn Scratch: Settings menu for profile, account and projects](https://www.ionos.com/fi-fi/digitalguide/fileadmin/_processed_/c/d/csm_scratch-settings-menu_5247776174.webp "Learn Scratch: Settings menu for profile, account and projects")](https://www.ionos.com/fi-fi/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/scratch-settings-menu.png) Next to the Account button, you will find two other buttons that let you quickly access your projects (file icon) and any messages you have received(envelope icon). Muut valikkokohdat tarjoavat seuraavat toiminnot:

- **Kehitys**: Scratchin keskeinen osa on visuaalinen kehitysympäristö, jonka voit käynnistää **Kehitys-** välilehdestä. Tämän verkkotoimiston avulla voit ohjelmoida kaikki Scratch-sovelluksesi suoraan selaimessa.
- **Tutki**: tässä kategoriassa voit tutustua muiden käyttäjien projekteihin. Voit paitsi katsella tai joissakin tapauksissa pelata niitä, myös tarkastella niiden ohjelmointia. Samankaltaiset projektit on ryhmitelty **Studioon**.
- **Ideat**: **Ideat-osiosta** löydät erilaisia oppaita ja ohjeita, jotka auttavat sinua omien projektien kehittämisessä – erityisesti ideoinnin yhteydessä. Täältä löydät myös linkin Scratch-sovelluksen lataamiseen (Windows, macOS, ChromeOS, Android), jonka avulla voit ohjelmoida ilman aktiivista internetyhteyttä.
- **Tietoja Scratchista**: Jos napsautat **Tietoja Scratchista**, sinut ohjataan alustan yleistä tietoa sisältävälle sivulle. Sieltä löydät muun muassa linkkejä lisäaineistoon vanhemmille ja opettajille sekä vinkkejä ja usein kysyttyjä kysymyksiä.

### Kuinka koodaus Scratchilla toimii

Scratch-kehitysympäristö muistuttaa verkkosivujen rakennustyökalua, mikä ei ole kovin yllättävää, kun otetaan huomioon skriptien rakennuspalikkamainen luonne. Näiden skriptien lisäksi, jotka muodostavat suurimman osan käytettävissä olevista komponenteista, projektiin voi lisätä myös asuja ja ääniä. Sitten voit hallita tai toteuttaa niitä skriptin avulla. Napsauttamalla **Lisää laajennus**-painiketta voit laajentaa skriptivalikoimaa esimerkiksi värikynällä, videotallennuskoodilla tai tekstistä puheeksi -ominaisuudella.

Vinkki Scratch tarjoaa sinulle erilaisia pukuja, ääniä ja skriptejä, jotka voit integroida välittömästi projekteihisi. Vaihtoehtoisesti voit myös tuoda tai tallentaa omia kuvia tai ääniä, jos et löydä tarvitsemiasi vaihtoehtoja käytettävissä olevista vaihtoehdoista. Voit myös luoda omia skriptejä.

#### Herätä hahmot ja esineet eloon puvilla

Haluatpa sitten ohjelmoida pelin, videon, animaation tai vain yksinkertaisen sarjakuvan, sprite-kuvat (hahmot ja muut objektit) ovat tarinasi keskeisiä rakennuspalikoita. **Costumes-välilehdessä** voit valita ja integroida projektisi mihin tahansa määrään grafiikkaa. Voit valita käytettävissä olevista kuvavaihtoehdoista, piirtää objekteja käsin tai tuoda paikallisesti tallennettuja grafiikoita. Jos laitteessasi on kamera, voit myös ottaa valokuvan.

[![Kuva: Scratch: costume selection menu](https://www.ionos.com/fi-fi/digitalguide/fileadmin/_processed_/5/e/csm_scratch-choosing-costume_9ee9aa9a82.webp "Scratch: costume selection menu")](https://www.ionos.com/fi-fi/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/scratch-choosing-costume.png) By using different poses for sprites, you can create motion sequences. Kun olet valinnut puvun, voit muokata sitä. Valitse tätä varten muokattava kohde näytön vasemmalla puolella olevasta valikosta (josta voit poistaa sen milloin tahansa napsauttamalla roskakorikuvaketta). Käytä sitten käytettävissä olevia muokkaustyökaluja esimerkiksi värien muuttamiseen, tiettyjen yksityiskohtien poistamiseen pyyhekumilla, tekstin lisäämiseen tai kohteen vääristämiseen. Grafiikan muuntaminen rasteri- tai vektorigrafiikaksi on myös mahdollista. **Puvun** kentässä voit myös valita puvulle nimen, jota skriptit voivat myöhemmin käyttää viitearvona.

[![Kuva: Scratch: costume editor](https://www.ionos.com/fi-fi/digitalguide/fileadmin/_processed_/2/c/csm_scratch-costume-fill_a89c825c5e.webp "Scratch: costume editor")](https://www.ionos.com/fi-fi/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/scratch-costume-fill.png) Using the fill colour, we’ve adjusted the appearance of the figure. Ikkunan oikeassa alareunassa on **Valitse tausta** -painike. Tämän vaihtoehdon avulla voit valita projektisi taustakuvan. Scratch tarjoaa valikoiman valmiita kuvia, mutta voit myös tuoda omia kuvia tai jopa maalata oman taustan.

[![Kuva: Scratch tutorial: sprite with background image](https://www.ionos.com/fi-fi/digitalguide/fileadmin/_processed_/1/2/csm_scratch-backdrop-menu_c0359b67e7.webp "Scratch tutorial: sprite with background image")](https://www.ionos.com/fi-fi/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/scratch-backdrop-menu.png) Just like with sprites, you can move or switch the background using scripts. #### Äänet ja taustamusiikki

Monissa luovissa projekteissa sopiva ääniraita on yhtä tärkeä kuin eri hahmot. Kun ohjelmoit Scratchilla, voit toteuttaa ja hallita kaikkia ääniä **Äänet-valikosta**. Graafisten elementtien tavoin voit valita valmiista Scratch-äänistä **Valitse ääni**-valikosta. Voit myös **tuoda tai tallentaa ääniä**, jos sinulla on mikrofoni.

[![Kuva: Menu for recording sounds with Scratch](https://www.ionos.com/fi-fi/digitalguide/fileadmin/_processed_/8/9/csm_scratch-record-sound_238271379d.webp "Menu for recording sounds with Scratch")](https://www.ionos.com/fi-fi/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/scratch-record-sound.png) Recording starts as soon as you click on the Record button. Lisäämäsi äänet voidaan valita vasemmalla puolella olevasta valikosta napsauttamalla vastaavaa pikkukuvaa. Sen jälkeen voit muokata ääniä eri tavoin. Voit esimerkiksi leikata valittuja osia, säätää äänenvoimakkuutta tai lisätä tai vähentää toistonopeutta. Koska äänet integroidaan Scratch-projektiin skriptien avulla, jokaiselle äänelle on annettava yksilöllinen nimi, jonka voit määrittää **Ääni-kentässä**.

[![Kuva: Coding with Scratch: window for editing a sound sample](https://www.ionos.com/fi-fi/digitalguide/fileadmin/_processed_/7/b/csm_scratch-sound-example_dee2fa7c3b.webp "Coding with Scratch: window for editing a sound sample")](https://www.ionos.com/fi-fi/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/scratch-sound-example.png) If you want to cut out specific sequences or only edit selected parts, select these parts by holding the left mouse button from the desired starting point and dragging the selection screen to the desired endpoint. #### Skriptit ovat Scratch-koodauksen ydin

Jotta Scratch-ohjelmointi onnistuu, on tarpeen harjoitella Scratch-skriptien käyttöä. Näiden skriptien taustalla oleva koodi luodaan automaattisesti, kun vedät lohkon projektiisi – riippumatta siitä, onko kyseessä **tapahtuma**, **funktio**, **operaattori** tai **muuttuja**. Käyttäjänä voit keskittyä täyttämään skriptit yksittäisillä arvoilla ja määrittämään ne kuville ja äänille.

Kaikissa valmiiksi luoduissa skripteissä on kuvaukset, jotka kuvaavat tarkasti niiden toiminnot. Jos haluat ottaa skriptin käyttöön projektissasi, vedä lohko keskimmäiseen editori-ikkunaan. Lohkosta löydät kaikki määritettävät arvot tai vaihtoehdot, jotka voit valita tai kirjoittaa suoraan ruutuun. Jos sinulla on uusi skripti, joka viittaa ohjelmaasi jo sisältyvään skriptiin, liitä vastaava lohko kuin palapeliä koottaessa.

[![Kuva: Learn Scratch: integrate scripts and test them](https://www.ionos.com/fi-fi/digitalguide/fileadmin/_processed_/4/2/csm_scratch-script-preview_1dc8badafc.webp "Learn Scratch: integrate scripts and test them")](https://www.ionos.com/fi-fi/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/scratch-script-preview.png) In the preview window, you can test sequences and review the current version of your Scratch project at any time.  Vinkki Scratchin oppimisen haaste ei ole syntaktisten sääntöjen tai muotoilurakenteen ulkoa opetteleminen, vaan pikemminkin yksittäisten skriptien tarkoituksen ymmärtäminen ja niiden tehokas hyödyntäminen ja yhdisteleminen keskenään.

### Kuinka luoda lyhyt animaatiosarja Scratchissa

Nyt kun olemme käyneet läpi ohjelmointialustan tärkeimmät osat, katsotaanpa esimerkkihankkeen avulla, mitä Scratchilla voi tehdä.

Ensimmäisessä vaiheessa etsimme taustakuvaa siirtämällä hiiren näytön alareunassa olevan taustakuvakkeen päälle ja napsauttamalla **Valitse taustakuva**. Olemme valinneet **Blue Sky** -teeman, jota emme ole muokanneet millään tavalla:

[![Kuva: Blue Sky backdrop](https://www.ionos.com/fi-fi/digitalguide/fileadmin/_processed_/5/a/csm_scratch-backdrop-blue-sky_ff22275dbe.webp "Blue Sky backdrop")](https://www.ionos.com/fi-fi/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/scratch-backdrop-blue-sky.png) For our example, we chose the Blue Sky backdrop. Seuraavaksi lisäämme kuvan projektiesimerkkiin. Koska **Backdrops-välilehti** on tällä hetkellä paikalla, jossa normaalisti on **Costumes-välilehti**, napsautamme **Choose a Sprite** -painiketta näytön oikeassa alakulmassa. Scratch-valikossa on useita kuvia, joissa on useita asuja, joita voidaan käyttää liikesequenttien simuloimiseen. Esimerkiksi **Cat-sprite** on saatavana kahdessa versiossa: Cat ja Cat2. Kun kuvat toistetaan peräkkäin, näyttää siltä, että kissa kävelee.

Huomio Spriten mukautetut versiot helpottavat liikeseurannan ohjelmointia Scratchilla.

[![Kuva: Scratch tutorial: Cat sprite](https://www.ionos.com/fi-fi/digitalguide/fileadmin/_processed_/8/c/csm_scratch-sprite-cat_7f98feaea9.webp "Scratch tutorial: Cat sprite")](https://www.ionos.com/fi-fi/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/scratch-sprite-cat.png) Different costumes and poses let you bring sprites to life. Tämän lyhyen esimerkin viimeisessä vaiheessa haluamme näyttää, kuinka voit ohjata kuviota ja koodia Scratchilla. Jos haluat esimerkiksi saada kissan kävelemään vasemmalta oikealle pitämällä oikeaa nuolta painettuna, lisää seuraavat skriptit:

- **Tapahtumat**: kun \[ \]-näppäintä painetaan
- **Ohjaus**: odota \[ \] sekuntia
- **Ulkonäkö**: seuraava puku
- **Liike**: liiku \[ \] askelta

Määritä tapahtumascriptissä haluamasi näppäin – Scratch-oppaassamme se on ”oikea nuoli”. Seuraavaksi on **Control-script**, jossa asetat puskurin pukujen vaihtoa varten. Jos lisäät ”2”, sprite vaihtaa ulkonäköään kahden sekunnin kuluttua, mikä voi tehdä liikeseurannasta luonnollisemman. **Looks-skripti** varmistaa, että kuva vaihtuu ”cat” ja ”cat2” välillä niin kauan kuin nuolinäppäintä pidetään painettuna. **Motion-osion** neljännen skriptin avulla hahmo liikkuu myös oikealle, kun puku vaihdetaan. Tässä esimerkissä käytimme 10 vaihetta:

[![Kuva: Scratch: Script overview in project example](https://www.ionos.com/fi-fi/digitalguide/fileadmin/_processed_/2/6/csm_scratch-scripts-example_6192950398.webp "Scratch: Script overview in project example")](https://www.ionos.com/fi-fi/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/scratch-scripts-example.png) The values used in this Scratch tutorial are just one example. Slower or quicker costume changes as well as small or larger steps are also possible.  Vinkki Voit testata tämän koodausesimerkin tuloksen [Scratch-projektisivulla](https://scratch.mit.edu/projects/375556456 "Scratch example project").

### Kuinka julkaista Scratch-koodausprojekti

Kun olet luonut oman käyttäjätilin ja virallisesti liittynyt Scratcheriksi, voit julkaista ohjelmointiprojektisi Scratch-alustalla. Voit tehdä tämän napsauttamalla **Julkaise-** painiketta näytön yläreunan valikkopalkissa.

Avautuvassa ikkunassa voit nyt muuttaa projektin nimeä ja lisätä ohjeita, kommentteja tai kiitoksia. Jos siirrät **Kommentointi-kohdan** vieressä olevan kytkimen vasemmalle, voit myös poistaa projektin kommentointitoiminnon käytöstä.

[![Kuva: Scratch: Publication of project example](https://www.ionos.com/fi-fi/digitalguide/fileadmin/_processed_/0/e/csm_scratch-project_d586552cbc.webp "Scratch: Publication of project example")](https://www.ionos.com/fi-fi/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/scratch-project.png) In your project menu, click on Copy Link in order to share the link for your project with friends and acquaintances.


This is a markdown version of: [https://www.ionos.com/fi-fi/digitalguide/verkkosivustot/verkkosivujen-kehittaeminen/scratch-koodausopas/](https://www.ionos.com/fi-fi/digitalguide/verkkosivustot/verkkosivujen-kehittaeminen/scratch-koodausopas/) for AI/LLM consumption.