Introduktion till block i skrap

I den sista delen av denna serie tittade vi på tillgångar i Scratch-backdrops, sprites, costumes och audio. Efter att ha skapat vissa tillgångar måste du få dem att göra något, vilket är var blocken kommer in.

Block är linjer eller block av kod som du drar in i ditt projekt för att skapa ett skript. Varje tillgång kan ha mer än ett skript förknippat med det, och varje skript kan ha så många block som du behöver. 

När du blir mer erfaren med Scratch och börjar bygga mer komplexa projekt, hittar du att dina skript kan bli ganska långa och komplexa, så det är viktigt att hitta det mest effektiva sättet att skapa skript och de mest effektiva blocken. Det här är en bra färdighet att lära dig om du använder Skrap som utgångspunkt för att lära dig själv eller andra hur du kodar, eftersom du skriver ordentlig, effektiv kod är viktig.

Senare i denna serie täcker jag varje kategori av block mer detaljerat och demonstrerar deras användning via projekt, men i det här inlägget ger jag dig en snabb översikt över de olika typerna av block och vad du kan göra med dem.

Använda block i skrap

Om du vill använda ett block väljer du helt enkelt den tillgång som den gäller och dra sedan den till din skriptfönster.

I skärmdumpen nedan kan du se projektet jag skapade i den sista delen. Detta projekt har några sprites men inga skript ännu. 

För att börja skapa ett skript klickar du på den tillgång du vill att den ska tillämpas på (antingen scenen eller en sprite) och dra sedan de relevanta blocken i skriptrutan till höger. Om du vill lägga till flera kvarter i ett skript, dra nya block till platsen i skriptet där du vill att de ska visas. Du kan lägga till nya block ovanför eller under befintliga block.

För att lägga till flera skript, dra bara ett nytt block i skriptrutan men bort från befintliga skript (er).

För att ta bort ett block från ett skript, dra bara det åt vänster, bort från skriptrutan. Observera att du bara kan göra detta för bottenblocket i ett skript eller ett block som är på egen hand: om du drar ett block bort från skriptrutan som har andra block under det, raderas alla block under det också . Om du vill göra detta väljer du blocket omedelbart under det du vill radera och drar det bort från skriptet. Dra sedan blocket som du vill radera (dvs den undre) bort från skriptrutan och dra de block du flyttat tillbaka på plats.

Du kan även ta bort block med hjälp av genvägsmenyn, som du har tillgång till genom att högerklicka på ett block. Samma sak gäller som med att dra blockerar bort: Om du tar bort ett block som har andra block under det, kommer dessa block också att raderas.

Du kan också använda genvägsmenyn för att lägga till kommentarer till dina skript, duplicera dem eller få hjälp i det block du har högerklickat på.

Typ av block i skrap

Scratch ger dig tio kategorier av block, som alla innehåller ett antal block du kan använda för att göra liknande jobb. Dessa är:

  • Rörelse
  • Utseende
  • Ljud
  • Penna
  • Data
  • evenemang
  • Kontrollera
  • Sensing
  • Operatör
  • Användarskapade block (eller Fler block)

Låt oss ta en titt på vad varje av dessa kategorier innehåller.

Rörelseblock

Rörelse block är vad du använder för att placera dina sprites på scenen eller flytta dem. De är mörkblå. Du kan bara använda rörelseblock med sprites, inte med scenen.

Rörelsesblock innehåller följande typer av rörelser:

  • Flytta sprites.
  • Vänder sprites.
  • Att göra sprites pekar i en given riktning eller mot varandra.
  • Att göra sprites flyttar till en viss punkt på scenen, till en annan sprite eller muspekaren. Denna rörelse kan vara omedelbar med hjälp av gå till block eller gradvis med hjälp av glida blockera.
  • Ändra x- och y-koordinaterna för sprite på scenen, antingen genom att ändra den från dess nuvarande värde (ändra x / y med) eller genom att ställa in det till ett fast belopp (sätt x / y till).
  • Göra sprite studsar om den träffar scenens kant.
  • Ändra stilen med vilken en sprite roterar.
  • Ställ in en sprite s x eller y koordinater eller den riktning som den reser för att visas på scenen.

Dessa låter väldigt enkelt, men de är grunden för många spel och animeringar. Vi använder rörelseblock i ett exempelprojekt senare i denna serie.

Ser Block

Utseende block är färgade lila, och de kontrollerar vad dina sprites och bakgrund ser ut, hur stora de är och om de visas framför eller bakom andra tillgångar. Ser block innehåller också block som låter dig visa text.

Ser block kan användas med sprites och bakgrund, även om det finns några som bara gäller sprites. Huvudtyperna av Looks block är:

  • Blockerar för att visa text, antingen för en bestämd tidsperiod eller i obestämd tid. De säga block kommer att visa text i en talbubbla medan tror block kommer att visa den i en tankebubbla. Du kan kombinera detta med andra block, t.ex. data eller avkänningsblock, för att visa värdena som lagras av dessa block istället för statisk text. Du kan bara använda dessa block med sprites.
  • Block för att visa eller gömma sprites, som du inte kan använda med scenen.
  • Block för att byta kostymer (sprites) eller bakgrunder (scen). I varje fall kan du byta till en definierad kostym eller bakgrund, eller till nästa kostym eller bakgrund. Detta kan kombineras med en slinga när du vill byta upp kostymer eller bakgrunder och sparar mycket och många block.
  • Block för att ändra färgeffekter eller ta bort dem. Du kan antingen ändra färgen med ett värde eller ställa in det till ett fast värde. Använd dessa block med sprites eller bakgrunder.
  • Block för att ändra storleken på sprites, användbar för att zooma i effekt. Du kan ändra storleken till ett fast belopp eller med en procentandel. Du kan inte använda dessa block med scenen.
  • Block för att flytta sprites (inte scenen, som alltid finns bak) bakåt eller framåt, med lager. Använd dessa för att skapa en effekt av saker som rör sig mot tittaren, kanske kombinerad med storleken block.
  • Blockerar för att visa kostymnumret, bakgrundsnamnet och / eller storleken på en sprite på scenen.

Look-blocken är verkligen användbara för att skapa animerade effekter, och kan användas för att skapa några kraftfulla effekter i kombination med kontroll- och händelseblock.

Ljudblock

Nästa uppsättning block är den rosa Ljud block. Om du lär dig en grupp barn att koda med Scratch, kommer du snart att upptäcka att dessa är mycket populära!

 Blocken kommer under dessa kategorier:

  • Blockerar för att spela eller stoppa ljud, inklusive ljud från biblioteket och de som du laddar upp eller spelar in.
  • Blockerar för att spela trumljud och anteckningar för ett visst antal slag eller att vila för ett antal slag.
  • Blockerar för att ändra eller ställa in volymen eller tempot och visa dem på scenen.

Genom att använda ljudblock läggs en annan dimension till dina animeringar och spel och kan hjälpa till att förbättra användarupplevelsen, till exempel om du lägger till ljudeffekter som matchar händelser i ett spel.

Pennblock

Du kan använda den gröna Penna blockerar för att skapa interaktiva spel där användaren kan dra på scenen. Kombinera pennblock med händelse- och kontrollblock för att skapa interaktiva ritningsapplikationer, antingen ensamma eller som en del av ett spel. Du kan också använda några av blocken på andra sätt, till exempel med hjälp av klar blockera för att rensa skärmen när du flyttar upp en nivå i ett spel.

Pennblock inkluderar:

  • Block för att rensa scenen.
  • Block för att flytta pennan ner och upp så att den kommer eller kommer inte att dra på scenen.
  • Block för inställning och ändring av penna färg, nyans och storlek.

Du får se hur man använder pennblock i ett fungerat exempel senare i denna serie. Observera att endast klar block kan användas med scenen: resten är endast för sprites.

Datablock

Datablock låter dig skapa och manipulera data i dina animeringar och spel. Du kan skapa två typer av data: variabler och listor. Dessa kan användas med sprites och med scenen.

variabler Låt dig definiera värden för en variabel och använd sedan den i ditt projekt. De är bra för timing spel eller att hålla poäng, eller för att definiera hur många gånger en slinga behöver springa. Datablocken kommer i orange för variabler och en orange brun för listor. 

När du har skapat en variabel ser du ett antal variabelblock:

  • Blockerar för att ställa in värdet på din variabel och ändra den.
  • Block för att visa och gömma din variabel.

listor kan användas för att lagra och hantera grupperade eller relaterade data.

När du har skapat en lista finns ett antal block tillgängliga för dig:

  • Blockerar för att lägga till, infoga eller ta bort värden i din lista, antingen som extra objekt eller ersätta befintliga objekt.
  • Datablock som hänför sig till längden på din lista eller till ett givet objekt i det, som du då kan använda med andra block som operatörsblock.
  • Blockerar för att visa och dölja din lista.

Datablock tar Scratch till en mer avancerad nivå som är relaterad till många programmeringsspråk och innebär att dina projekt kan reagera på händelser och användarinmatningar på många olika sätt. De kan användas med sprites och scenen.

Händelser blockerar

Den bruna evenemang block är grundläggande för Scratch som utan dem, kommer inget att hända. Varje skript kommer att ha en händelse vid starten som berättar att manuset ska springa. Det här kan vara att den gröna flaggan klickas för att starta projektet, eller det kan vara en händelse som utlöses när ditt projekt körs. Använd alla händelseblock med scenen eller dina sprites: namnet på några av dem kommer att förändras något beroende på vilket du arbetar med.

Händelseblock inkluderar:

  • Det viktiga när den gröna flaggan klickade blockera som startar allting. Du kan använda detta med flera skript i ditt projekt.
  • Block för andra användarinteraktioner, till exempel en knapp som trycks eller scenen eller en sprite som klickas.
  • Händelser som utlöses av bakgrunden eller en kostymbyte (som är tillgänglig beror på om ditt skript gäller för scenen eller ett sprit). Ett block för att svara på ändringar i volym, rörelse eller timer.
  • Block relaterade till meddelanden: Du kan få ett meddelande att sända ett meddelande när något händer med det och sedan få en annan sprite att svara på det meddelandet med ett händelseblock. Dessa meddelanden visas inte på skärmen: de är interna meddelanden i koden. 

Händelser är användbara för att starta skript, både när ett projekt startas och när det körs.

Kontrollblock

Kontrollera block kan du styra blocken i dina skript, infoga villkorliga uttalanden, loopar, upprepningar och pauser. De kan göra din kod mycket effektivare och kan vara mycket kraftfulla när de kombineras med variabler och / eller operatörer.

Kontrollblock inkluderar:

  • Block för paus: antingen väntar på en viss tid eller väntar tills något händer eller användaren gör något.
  • Villkorliga block: Wrap dessa runt en uppsättning block för att få något att hända om ett villkor är uppfyllt.
  • Loops: Repetera en uppsättning block ett visst antal gånger, för alltid eller tills något händer eller ett villkor är uppfyllt.
  • Ett block för att stoppa alla loopar.
  • Block för att skapa och använda kloner: dessa låter dig kopiera en sprite och använda den flera gånger. Dessa är de enda kontrollblock som inte kan användas med scenen.

Kontrollblock är bra för att lägga till interaktivitet för ditt projekt, liksom för att skriva mer effektiv kod - en användbar sak att lära!

Sensing Blocks

Sensing blocken är färgade ljusblå. De låter dig identifiera vad som händer på en viss punkt och göra dina sprites eller bakgrundsreaktioner.

Sensing block inkluderar:

  • Blockerar för att upptäcka om objekt (inklusive spider och färger) rör varandra eller på ett visst avstånd från varandra. Du kan bara använda dessa med sprites, inte scenen.
  • Blockerar för att fråga användaren en fråga-du kan då använda svaret i villkorliga block, till exempel.
  • Blockerar för att upptäcka tangenttryckningar och musklick.
  • Videoblock för att upptäcka och spela in rörelse eller spritesriktning.
  • Blockerar för att räkna runt ett projekt.

Du kan använda kontrollblock i spel för att göra spelaren förlorad när ett objekt berör en annan, eller för att upptäcka om en sprite rör sig tillräckligt snabbt för att krascha genom en annan sprite, till exempel.

Operatörsblock

Operatör block kan du göra jämförelser mellan eller utföra aritmetiska funktioner på olika värden och kan användas i kombination med datablock eller avkänningsblock bland andra.

Operatörer inkluderar:

  • Blockerar för att lägga till, subtrahera, multiplicera och dela ett värde av en annan. Dessa kan vara datablock som du har definierat eller svaret på en fråga du har bett att använda ett avkänningsblock.
  • Ett block för att välja ett slumptal mellan två siffror du definierar.
  • Block för att identifiera om två värden är mindre än, större än eller lika med varandra.
  • Booleska block: inte, och och eller. Använd dessa för att kombinera värden i kontrollblock som om och upprepa block.
  • Block för att sammanfoga andra block tillsammans eller arbeta med bara en del av ett blockets värde (som första bokstaven).
  • Blockerar för avrundningsvärden och identifierar om resultatet av en beräkning har en återstående.  

Du kan använda alla operatörsblock med sprites och scenen.

Fler block

Använd de mörka lila "fler" blocken för att skapa egna block. Dessa är användbara för att göra din kod effektivare. Om du har en uppsättning block som du använder upprepade gånger i ditt projekt, kanske över sprites eller skript för ekosprit, kan du definiera ett enda block som innehåller den uppsättningen block (eller rutin) och bara använda det när du vill springa hela rutinen. Det är lite som att skapa en funktion eller klass i andra programmeringsspråk.

Här kan du också lägga till tillägg, länka hårdvara som en picoboard eller Lego WeDo för att lägga till fysiska ingångar till ditt projekt eller kontrollrobotar som du bygger.

Sammanfattning

Scratch kommer med många block som du kan använda i dina projekt, vilket kan utökas ännu mer när du kombinerar dem eller skapar ditt eget. Med övning och fantasi finns det väldigt lite du inte kan göra med dessa block.

När vi arbetar genom denna serie fokuserar jag på olika kategorier av block och visar hur du använder dem i dina projekt.