Aus Das deutschsprachige Scratch-Wiki

(Sonderfälle)
K ([drehe (x) Grad])
 
(66 dazwischenliegende Versionen von 14 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
{{zurHilfe}}
 
{{zurHilfe}}
Das Block Plugin (BP) wird dazu verwendet, um einzelne Blöcke oder ganze Skripte als Graphik im Wiki oder im [[Scratch-Forum|Forum]] darzustellen. Dies erfolgt durch die Eingabe des Block-Textes.  
+
{{Mehrdeutig|titel=Scratch Blocks|berklärung=Scratch Blocks}}
 +
Das '''Block Plugin''' (BP) wird dazu verwendet, um einzelne Blöcke oder ganze Skripte als Graphik hier im [[Scratch-Wiki]] oder im [[Scratch-Forum|Forum]] darzustellen. Dies erfolgt durch die Eingabe des Block-Textes.
  
Grundsätzlich solltest du den Plugin dem [[Scratch-Wiki:Hilfe:Screenhots von Blöcken freistellen|Screenshot machen]] bevorzugen. Wenn du erstmal üben möchtest, kannst du das auf [http://wiki.scratch-dach.info/blocksplugin/test.htm dieser Seite] machen.
+
Es sollte jedoch beachtet werden, dass sich der [[Scratch-Wiki:Hilfe:Inhaltsverzeichnis#Syntax_und_Seiten:|Wiki-Syntax]] vom [[BBCode]] im Forum unterscheidet. Dieser Artikel bezieht sich vorzugsweise auf den Wiki-Syntax; die meisten hier genannten Funktionen bleiben aber im Forum-BBCode in gleicher Form erhalten.
  
 +
Man könnte statt dessen auch einen [[Scratch-Wiki:Hilfe:Screenshots von Blöcken freistellen|Screenshot der Blöcke/Skripte machen]] machen, was die Blöcke zwar genau so zeigt, wie sie aktuell in Scratch aussehen, aber viel weniger Flexibilität bietet und umständlicher ist.
 +
 +
Die Seite [[Scratch-Wiki:Hilfe:Block Plugin Test|Block Plugin Test]] dient der Überprüfung der Funktionsfähigkeit durch Auflistung aller erzeugbaren Blöcke.
 +
 +
== Weiterentwicklung und Bugfixes  ==
 +
Das Block Plugin kann Fehler haben oder bekommen, so dass z.B. einige Blöcke, gegebenenfalls auch beschränkt auf einzelnen Sprachen, nicht richtig dargestellt werden. Daher ist es oft besser, Fehler im Block Plugin selber zu korrigieren, anstatt hier im deutschen Scratch Wiki alle Quelltexte anzupassen, Wenn Dinge die vorher richtig dargestellt worden auf einmal falsch dargestellt werden: Unter anderem enthält das Blocks Plugin auch eine Liste der Scratch Befehle allen Sprachen, wenn sich darin ein Fehler einschleicht, wird der Block in dieser Sprache falsch dargestellt. Das Block Plugin wird daher ständig gepflegt und weiterentwickelt, schon alleine weil es an die Weiterentwicklung von Scratch ständig angepasst werden muss. Für diese Entwicklung idt eine kleine internationale community verantwortlich (nicht das Scratch Team!), die sich über jeden der mithelfen will freut. Initiator und Hauptentwickler ist [[:en:User:blob8108]]. Weil in diese community in Englisch kommuniziert wird, macht es keinen Sinn, darüber viel in Deutsch zu schreiben. Der beste Einstieg für dieses Thema sind  diese englischen Artikels hier:
 +
 +
* [[:en:Blocks Plugin]]
 +
* [[:en:Block_Plugin/Syntax]]
 +
* [[:en:Scratch Wiki:Block Plugin Style Guide]]
 +
* [[:en:Scratch Wiki:Block Plugin Bugs]]
 +
* [https://scratch.mit.edu/discuss/topic/54562/ Diskussionsforen » New Scratchers » A guide to Scratchblocks and other BBCode help]
 +
*[//github.com/blob8108/scratchblocks2/blob/master/tests/all-blocks-de.txt Eine Liste der deutschen Blockbezeichnungen] (Bitte selber prüfen ob dies der aktuelle Link ist!)
 +
* [[:en:User:Blob8108]] - Scratch Wiki Autorenseite des ursprünglichen Entwicklers des Blocks Plugin
 +
* [http://scratchblocks.github.io Official scratchblocks homepage]
 +
* https://github.com/scratchblocks - Scratch Blocks im Github
 +
 +
<!-- Ich habe hier mal ein "das" aus "der" und "den" gemacht. Grammatikalisch ist sowohl das Neutrum als auch das Maskulinum korrekt, der allgemeinen Verständlichkeit halber habe ich mich jedoch gegen die maskuline und für die neutrale Form entschieden. Lirex, 01.06.2014. -->
 +
 +
== Code ==
 
Beispiel:  
 
Beispiel:  
 
  <nowiki><scratchblocks></nowiki>
 
  <nowiki><scratchblocks></nowiki>
  Wenn gf angeklickt  
+
  Wenn die grüne Flagge angeklickt  
  sage [Hallo] für (5) sek.
+
  sage [Hallo] für (5) Sekunden
 
  </scratchblocks>
 
  </scratchblocks>
  
 
->
 
->
 
<scratchblocks>
 
<scratchblocks>
Wenn gf angeklickt
+
Wenn die grüne Flagge angeklickt
sage [Hallo] für (5) sek.
+
sage [Hallo] für (5) Sekunden
 
</scratchblocks>
 
</scratchblocks>
  
Eingeleitet wird der geschriebene Text durch: <nowiki><scratchblocks> und am Ende steht </scratchblocks> zwischen den beiden <scratchblocks> </nowiki>steht der Skript-Text. Dabei ist eine Zeile immer ein Block. Eigene Zeilen werden nur von Kopfblöcken, Klammerblöcken und Stapelblöcken beansprucht. Eingabefelder (nur für Text) werden durch [abc] ausgedrückt. Variablen werden durch (abc), [[Wahrheits Block|Wahrheits-Blöcke]] durch <abc>, ausgedrückt. Leider werden sie aus technischen Gründen nur in runden Klammern angezeigt. Wenn es einen Block nicht gibt, wird er dunkelrot angezeigt.
+
Eingeleitet wird der geschriebene Text durch: <nowiki><scratchblocks> und am Ende steht </scratchblocks> zwischen den beiden <scratchblocks> </nowiki>steht der Skript-Text. Bei Benutzung im [[Scratch Forum]] wird der Text eingleitet durch [scratchblocks] und am Ende steht [/Scratchblocks]. Dabei ist eine Zeile immer ein Block. Eigene Zeilen werden nur von Kopfblöcken, Klammerblöcken und Stapelblöcken beansprucht. Wenn nur ein Wahrheitsblock oder Wertblock dargestellt werden soll, kann dieser natürlich auch eine eigene Zeile bekommen. Eingabefelder (nur für Text) werden durch [abc] ausgedrückt. Variablen werden durch (abc), [[Wahrheits Block|Wahrheits-Blöcke]] durch <abc>, ausgedrückt. Leider werden sie aus technischen Gründen nur in runden Klammern angezeigt. Wenn es einen Block nicht gibt, wird er dunkelrot angezeigt.
  
 
=== Nicht vorhanden ===
 
=== Nicht vorhanden ===
Ein Beispiel für einen nicht existierenden Block:
+
Ein Beispiel für einen nicht existierenden (obsoleten) Block:
  
 
  <nowiki><scratchblocks></nowiki>
 
  <nowiki><scratchblocks></nowiki>
Zeile 28: Zeile 49:
  
 
<scratchblocks>
 
<scratchblocks>
mich gibt's nicht
+
mich gibt's nicht :: cap
 
</scratchblocks>
 
</scratchblocks>
  
 
=== Klammer-Blöcke ===
 
=== Klammer-Blöcke ===
Bei Klammerblöcken wie [[Wiederhole bis () (Block)|Wiederhole bis ()]] steht vor den Blöcken die in der Klammer stehen ein Leerzeichen. Das Ende einer Klammer wird durch den Befehl "Ende" markiert.
+
Bei Klammerblöcken wie [[Wiederhole bis () (Block)|Wiederhole bis ()]] steht vor den Blöcken, die in der Klammer stehen, ein Leerzeichen. Das Ende einer Klammer wird durch den Befehl "Ende" markiert.
 
   
 
   
 
  <nowiki><scratchblocks></nowiki>
 
  <nowiki><scratchblocks></nowiki>
 
  wiederhole bis <>
 
  wiederhole bis <>
  gehe (10)-er Schritt
+
  gehe (10)er-Schritt
 
  ende
 
  ende
 
  </scratchblocks>
 
  </scratchblocks>
Zeile 44: Zeile 65:
 
<scratchblocks>
 
<scratchblocks>
 
  wiederhole bis <>
 
  wiederhole bis <>
  gehe (10)-er Schritt
+
  gehe (10) er Schritt
 
  ende
 
  ende
 
</scratchblocks>
 
</scratchblocks>
Zeile 51: Zeile 72:
 
Ein Beispiel für das Aussehen eines etwas komplizierteren Skripts.
 
Ein Beispiel für das Aussehen eines etwas komplizierteren Skripts.
  
  <nowiki><scratchblocks>
+
  <nowiki> <scratchblocks>
 
  Wenn ich [Drehen v] empfange
 
  Wenn ich [Drehen v] empfange
  wiederhole [50] mal
+
  wiederhole (50) mal
  zeige Richtung ([Betrag v] von ((Zahl) / [500]))
+
  setze Richtung auf ([Betrag v] von ((Zahl) / [500])) Grad
  gehe (Zufallszahl von (50) bis (60))-er Schritt
+
  gehe (Zufallszahl von (50) bis (60)) er Schritt
  sage (verbinde [Hallo] (Welt))
+
  sage (verbinde [Hallo] und [Welt]::operators)
 
  verstecke Variable [Zahl v]
 
  verstecke Variable [Zahl v]
 
  ende
 
  ende
Zeile 64: Zeile 85:
  
 
<scratchblocks>
 
<scratchblocks>
Wenn ich [Drehen v] empfange
+
Wenn ich [Drehen v] empfange
wiederhole [50] mal
+
wiederhole (50) mal
zeige Richtung ([Betrag v] von ((Zahl) / [500]))
+
setze Richtung auf ([Betrag v] von ((Zahl) / [500])) Grad
gehe (Zufallszahl von (50) bis (60))-er Schritt
+
gehe (Zufallszahl von (50) bis (60)) er Schritt
sage (verbinde [Hallo] (Welt))
+
sage (verbinde [Hallo] und [Welt]::operators)
verstecke Variable [Zahl v]
+
verstecke Variable [Zahl v]
ende
+
ende
</scratchblocks>
+
</scratchblocks>
 +
 
 +
Auswahllisten ([[Dropdown-Listen]]) werden mit ''Leerzeichen + "v"'' erzeugt.
 +
 
 +
=== Kommentare ===
 +
Um Kommentare in Scratchblöcken zu schreiben, lässt man einfach ein Leerzeichen und schreibt // und den Kommentartext. Ein Beispiel:
 +
 
 +
<nowiki> <scratchblocks>
 +
Wenn die grüne Flagge angeklickt
 +
warte (1) Sekunden //Ein Beispielkommentar
 +
stoppe [alles v]
 +
</scratchblocks> </nowiki>
  
Auswahllisten werden mit ''Leerzeichen + "v"'' erzeugt.
+
ergibt
  
== Einfacheres Erstellen ==
+
<scratchblocks>
Zum einfachen Erstellen von Skripten im BP hat das [[MIT-Scratch-Team|Scratch-Team]] Mitglied Mark ([http://scratch.mit.edu/users/Paddle2See Paddle2See]) ein praktisches kleines Tool entwickelt, mit dem man mit wenig Aufwand schnell zum Ziel kommt. Das Skript kann man durch die [[Listen|Liste]] dann offline exportieren und im Forum oder Wiki einsetzen. Leider existiert bis jetzt keine deutsche Version. Die eingebettete Onlineversion hier bietet auch keinerlei Exportmöglichkeit und dient reinen Demonstrationszwecken.
+
Wenn die grüne Flagge angeklickt
{{Scratch-Projekt|username=Paddle2See|projektnr=2307441}}
+
warte (1) Sekunden //Ein Beispielkommentar
 +
stoppe [alles v]
 +
</scratchblocks>
  
 
== Sonderfälle ==
 
== Sonderfälle ==
Zeile 83: Zeile 117:
  
 
=== [drehe (x) Grad] ===
 
=== [drehe (x) Grad] ===
Bei den "drehe (sowieso) Grad"-Blöcken muss mit "cw"(''c''lock''w''ise) und "ccw"(''c''ounter''c''lock''w''ise) zwischen Uhrzeigersin und gegen den Uhrzeigersinn unterschieden werden.  
+
Bei den "drehe dich um (soviel) Grad"-Blöcken muss mit "nach rechts" und "nach links" zwischen Uhrzeigersin und gegen den Uhrzeigersinn unterschieden werden.  
 
Das sieht dann so aus:
 
Das sieht dann so aus:
  
 
  <nowiki><scratchblocks></nowiki>
 
  <nowiki><scratchblocks></nowiki>
  drehe cw (wie viel Grad auch immer) Grad
+
  drehe dich nach rechts um (wie viel Grad auch immer) Grad
  drehe ccw (blabla) Grad
+
  drehe dich nach links um (blabla) Grad
 
  <nowiki></scratchblocks></nowiki>
 
  <nowiki></scratchblocks></nowiki>
  
Zeile 94: Zeile 128:
  
 
<scratchblocks>
 
<scratchblocks>
drehe cw (wie viel Grad auch immer) Grad
+
drehe dich nach rechts um (wie viel Grad auch immer) Grad
drehe ccw (blabla) Grad
+
drehe dich nach links um (blabla) Grad
 
</scratchblocks>
 
</scratchblocks>
  
 
=== [Wenn grüne Flagge angeklickt] ===
 
=== [Wenn grüne Flagge angeklickt] ===
Die Schwierigkeit bei diesem Block stellt die Graphik der grünen Flagge dar. Wir können sie nur mit der Abkürzung ''gf'' erzeugen.
 
  
 
  <nowiki><scratchblocks></nowiki>
 
  <nowiki><scratchblocks></nowiki>
  Wenn gf angeklickt
+
  Wenn die grüne flagge angeklickt
 
  <nowiki></scratchblocks></nowiki>
 
  <nowiki></scratchblocks></nowiki>
  
Zeile 108: Zeile 141:
  
 
<scratchblocks>
 
<scratchblocks>
Wenn gf angeklickt
+
Wenn die grüne flagge angeklickt
 +
</scratchblocks>
 +
 
 +
=== Definiere [ ] ===
 +
Für einen Definitionsblock muss lediglich ''Definiere'' und der Name des benutzerdefinierten Blocks angegeben werden.
 +
 
 +
<nowiki><scratchblocks></nowiki>
 +
Definiere Beispielblock
 +
<nowiki></scratchblocks></nowiki>
 +
 
 +
ergibt
 +
 
 +
<scratchblocks>
 +
Definiere Beispielblock
 +
</scratchblocks>
 +
 
 +
Um einen eigenen Block so darzustellen, kann man einfach so den Namen des Blocks hinschreiben. Wichtig ist aber, dass der Block noch im Skript vom Definiere Block drin ist.
 +
 
 +
<nowiki><scratchblocks></nowiki>
 +
Definiere Beispielblock
 +
. . .
 +
 +
Beispielblock
 +
<nowiki></scratchblocks></nowiki>
 +
 
 +
ergibt
 +
 
 +
<scratchblocks>
 +
Definiere Beispielblock
 +
. . .
 +
 
 +
Beispielblock
 +
</scratchblocks>
 +
 
 +
== Benutzerdefiniertes Design ==
 +
Es ist auch möglich, das Design einzelner Scratch-Blöcke zu beeinflussen, um sie nicht so anzeigen zu lassen, wie es das System automatisch festlegt.
 +
 
 +
=== Benutzerdefinierte Kategorie ===
 +
Welcher Kategorie ein Scratchblock angehört, erkennt der Syntax. Möchte man die Farbe eines Skriptes jedoch selbst festlegen, fügt man an der entsprechenden Stelle zwei Doppelpunkte :: sowie die (englische) Skript-Kategorie fest, z. B.:
 +
 
 +
<nowiki><scratchblocks></nowiki>
 +
führe benutzerdefiniertes Skript aus::custom
 +
<nowiki></scratchblocks></nowiki>
 +
 
 +
<scratchblocks>
 +
führe benutzerdefiniertes Skript aus::custom
 +
</scratchblocks>
 +
 
 +
Diese Tabelle führt alle im Block-Plugin unterstützten Kategorien auf:
 +
{| class="wikitable" border="1"
 +
|-
 +
!Kategorie
 +
!Code
 +
|-
 +
|<scratchblocks>Bewegung::motion</scratchblocks>
 +
|<code>::motion</code>
 +
|-
 +
|<scratchblocks>Aussehen::looks</scratchblocks>
 +
|<code>::look</code>
 +
|-
 +
|<scratchblocks>Klang::sound</scratchblocks>
 +
|<code>::sound</code>
 +
|-
 +
|<scratchblocks>Malstift::pen</scratchblocks>
 +
|<code>::pen</code>
 +
|-
 +
|<scratchblocks>Variablen::variables</scratchblocks>
 +
|<code>::variables</code>
 +
|-
 +
|<scratchblocks>Listen::list</scratchblocks>
 +
|<code>::list</code>
 +
|-
 +
|<scratchblocks>Ereignisse::events</scratchblocks>
 +
|<code>::events</code>
 +
|-
 +
|<scratchblocks>Steuerung::control</scratchblocks>
 +
|<code>::control</code>
 +
|-
 +
|<scratchblocks>Fühlen::sensing</scratchblocks>
 +
|<code>::sensing</code>
 +
|-
 +
|<scratchblocks>Operatoren::operators</scratchblocks>
 +
|<code>::operators</code>
 +
|-
 +
|<scratchblocks>Benutzerdefiniert::custom</scratchblocks>
 +
|<code>::custom</code>
 +
|-
 +
|<scratchblocks>Parameter::custom-arg</scratchblocks>
 +
|<code>::custom-arg</code>
 +
|-
 +
|<scratchblocks>Erweiterungen::extension</scratchblocks>
 +
|<code>::extension</code>
 +
|-
 +
|<scratchblocks>Tipps::grey</scratchblocks>
 +
|<code>::grey</code>
 +
|-
 +
|<scratchblocks>Undefiniert::undefined</scratchblocks>
 +
|<code>::undefined</code>
 +
|}
 +
 
 +
=== Benutzerdefinierte Farbe ===
 +
Ebenfalls kann die Anzeigefarbe der Blöcke auch exakt festgelegt werden, nämlich mit einem hexadezimalen RGB-Wert.
 +
 
 +
<nowiki><scratchblocks></nowiki>
 +
führe benutzerdefiniertes Skript aus::#000000
 +
<nowiki></scratchblocks></nowiki>
 +
 
 +
<scratchblocks>
 +
führe benutzerdefiniertes Skript aus::#000000
 +
</scratchblocks>
 +
 
 +
Siehe hierzu auch den Hilfe-Artikel [[Scratch-Wiki:Hilfe:Farben|Farben]].
 +
 
 +
=== Benutzerdefinierte Form ===
 +
Man kann auch die Form eines Blockes bestimmen, sie wird einfach nach zwei Doppelpunkten :: in englisch angehängt. Wird diese Funktion mit der benutzerdefinierten Kategorie/Farbe des Blockes kombiniert, werden keine (zusätzlichen) Doppelpunkte benötigt.
 +
 
 +
<nowiki><scratchblocks></nowiki>
 +
Wenn Bühne angeklickt::events hat
 +
<nowiki></scratchblocks></nowiki>
 +
 
 +
<scratchblocks>
 +
Wenn Bühne angeklickt::events hat
 
</scratchblocks>
 
</scratchblocks>
 +
 +
Hier sind alle die dadurch definierbaren Blockformen aufgelistet:
 +
{| class="wikitable" border="1"
 +
|-
 +
!Form
 +
!Code
 +
|-
 +
|<scratchblocks>Kopfblock::grey hat</scratchblocks>
 +
|<code>::hat</code>
 +
|-
 +
|<scratchblocks>Stapelblock::grey stack</scratchblocks>
 +
|<code>::stack</code>
 +
|-
 +
|<scratchblocks>C-Beginn::grey cstart</scratchblocks>
 +
|<code>::cstart</code>
 +
|-
 +
|<scratchblocks>C-Alternative::grey celse</scratchblocks>
 +
|<code>::celse</code>
 +
|-
 +
|<scratchblocks>C-Schluss::grey cend</scratchblocks>
 +
|<code>::cend</code>
 +
|-
 +
|<scratchblocks>Abschlussblock::grey cap</scratchblocks>
 +
|<code>::cap</code>
 +
|}
 +
 +
== Einfacheres Erstellen ==
 +
Zum einfachen Erstellen von Skripten im BP hat das [[MIT-Scratch-Team|Scratch-Team]] Mitglied Mark ({{s|Paddle2See}}) ein praktisches kleines Tool entwickelt, mit dem man mit wenig Aufwand schnell zum Ziel kommt. Das Skript kann man durch die [[Listen|Liste]] dann offline exportieren und im Forum oder Wiki einsetzen. Leider existiert bis jetzt keine deutsche Version. Die eingebettete Onlineversion hier bietet auch keinerlei Exportmöglichkeit und dient reinen Demonstrationszwecken.
 +
{{Scratch-Projekt|username=Paddle2See|projektnr=2307441}}
 +
 +
== Weblinks ==
 +
[//github.com/blob8108/scratchblocks2/blob/master/tests/all-blocks-de.txt Eine Liste der deutschen Blockbezeichnungen]
  
 
[[Kategorie:Hilfeseiten]]
 
[[Kategorie:Hilfeseiten]]
 +
{{en|Block Plugin}}[[fr:Scratch Wiki Accueil/le forum/blocs du forum]]

Aktuelle Version vom 27. Juni 2020, 07:56 Uhr

← zurück zum Hilfeportal


Dieser Artikel ist mehrdeutig. Für andere Seiten mit dem Titel:
Scratch Blocks (o. ä.) siehe in der gleichnamigen Begriffserklärung nach.

Das Block Plugin (BP) wird dazu verwendet, um einzelne Blöcke oder ganze Skripte als Graphik hier im Scratch-Wiki oder im Forum darzustellen. Dies erfolgt durch die Eingabe des Block-Textes.

Es sollte jedoch beachtet werden, dass sich der Wiki-Syntax vom BBCode im Forum unterscheidet. Dieser Artikel bezieht sich vorzugsweise auf den Wiki-Syntax; die meisten hier genannten Funktionen bleiben aber im Forum-BBCode in gleicher Form erhalten.

Man könnte statt dessen auch einen Screenshot der Blöcke/Skripte machen machen, was die Blöcke zwar genau so zeigt, wie sie aktuell in Scratch aussehen, aber viel weniger Flexibilität bietet und umständlicher ist.

Die Seite Block Plugin Test dient der Überprüfung der Funktionsfähigkeit durch Auflistung aller erzeugbaren Blöcke.

Weiterentwicklung und Bugfixes

Das Block Plugin kann Fehler haben oder bekommen, so dass z.B. einige Blöcke, gegebenenfalls auch beschränkt auf einzelnen Sprachen, nicht richtig dargestellt werden. Daher ist es oft besser, Fehler im Block Plugin selber zu korrigieren, anstatt hier im deutschen Scratch Wiki alle Quelltexte anzupassen, Wenn Dinge die vorher richtig dargestellt worden auf einmal falsch dargestellt werden: Unter anderem enthält das Blocks Plugin auch eine Liste der Scratch Befehle allen Sprachen, wenn sich darin ein Fehler einschleicht, wird der Block in dieser Sprache falsch dargestellt. Das Block Plugin wird daher ständig gepflegt und weiterentwickelt, schon alleine weil es an die Weiterentwicklung von Scratch ständig angepasst werden muss. Für diese Entwicklung idt eine kleine internationale community verantwortlich (nicht das Scratch Team!), die sich über jeden der mithelfen will freut. Initiator und Hauptentwickler ist en:User:blob8108. Weil in diese community in Englisch kommuniziert wird, macht es keinen Sinn, darüber viel in Deutsch zu schreiben. Der beste Einstieg für dieses Thema sind diese englischen Artikels hier:


Code

Beispiel:

<scratchblocks>
Wenn die grüne Flagge angeklickt 
sage [Hallo] für (5) Sekunden
</scratchblocks>

->

Wenn die grüne Flagge angeklickt
sage [Hallo] für (5) Sekunden

Eingeleitet wird der geschriebene Text durch: <scratchblocks> und am Ende steht </scratchblocks> zwischen den beiden <scratchblocks> steht der Skript-Text. Bei Benutzung im Scratch Forum wird der Text eingleitet durch [scratchblocks] und am Ende steht [/Scratchblocks]. Dabei ist eine Zeile immer ein Block. Eigene Zeilen werden nur von Kopfblöcken, Klammerblöcken und Stapelblöcken beansprucht. Wenn nur ein Wahrheitsblock oder Wertblock dargestellt werden soll, kann dieser natürlich auch eine eigene Zeile bekommen. Eingabefelder (nur für Text) werden durch [abc] ausgedrückt. Variablen werden durch (abc), Wahrheits-Blöcke durch <abc>, ausgedrückt. Leider werden sie aus technischen Gründen nur in runden Klammern angezeigt. Wenn es einen Block nicht gibt, wird er dunkelrot angezeigt.

Nicht vorhanden

Ein Beispiel für einen nicht existierenden (obsoleten) Block:

<scratchblocks>
mich gibt's nicht
</scratchblocks>

->

mich gibt's nicht :: cap

Klammer-Blöcke

Bei Klammerblöcken wie Wiederhole bis () steht vor den Blöcken, die in der Klammer stehen, ein Leerzeichen. Das Ende einer Klammer wird durch den Befehl "Ende" markiert.

<scratchblocks>
wiederhole bis <>
gehe (10)er-Schritt
ende
</scratchblocks>

->

 wiederhole bis <>
 gehe (10) er Schritt
 ende

kompliziertes Gebilde

Ein Beispiel für das Aussehen eines etwas komplizierteren Skripts.

 <scratchblocks>
 Wenn ich [Drehen v] empfange
 wiederhole (50) mal
 setze Richtung auf ([Betrag v] von ((Zahl) / [500])) Grad
 gehe (Zufallszahl von (50) bis (60)) er Schritt
 sage (verbinde [Hallo] und [Welt]::operators)
 verstecke Variable [Zahl v]
 ende
 </scratchblocks>

->

 Wenn ich [Drehen v] empfange
 wiederhole (50) mal
 setze Richtung auf ([Betrag v] von ((Zahl) / [500])) Grad
 gehe (Zufallszahl von (50) bis (60)) er Schritt
 sage (verbinde [Hallo] und [Welt]::operators)
 verstecke Variable [Zahl v]
 ende
 

Auswahllisten (Dropdown-Listen) werden mit Leerzeichen + "v" erzeugt.

Kommentare

Um Kommentare in Scratchblöcken zu schreiben, lässt man einfach ein Leerzeichen und schreibt // und den Kommentartext. Ein Beispiel:

 <scratchblocks>
 Wenn die grüne Flagge angeklickt
 warte (1) Sekunden //Ein Beispielkommentar
 stoppe [alles v]
 </scratchblocks> 

ergibt

Wenn die grüne Flagge angeklickt
warte (1) Sekunden //Ein Beispielkommentar
stoppe [alles v]

Sonderfälle

Es gibt in Scratch 1.4 ein paar Blöcke, die nicht einfach mit dem Blocktext im Wiki dargestellt können. Sie werden hier aufgelistet.

[drehe (x) Grad]

Bei den "drehe dich um (soviel) Grad"-Blöcken muss mit "nach rechts" und "nach links" zwischen Uhrzeigersin und gegen den Uhrzeigersinn unterschieden werden. Das sieht dann so aus:

<scratchblocks>
drehe dich nach rechts um (wie viel Grad auch immer) Grad
drehe dich nach links um (blabla) Grad
</scratchblocks>

->

 drehe dich nach rechts um (wie viel Grad auch immer) Grad
 drehe dich nach links um (blabla) Grad

[Wenn grüne Flagge angeklickt]

<scratchblocks>
Wenn die grüne flagge angeklickt
</scratchblocks>

->

Wenn die grüne flagge angeklickt

Definiere [ ]

Für einen Definitionsblock muss lediglich Definiere und der Name des benutzerdefinierten Blocks angegeben werden.

<scratchblocks>
Definiere Beispielblock
</scratchblocks>

ergibt

Definiere Beispielblock

Um einen eigenen Block so darzustellen, kann man einfach so den Namen des Blocks hinschreiben. Wichtig ist aber, dass der Block noch im Skript vom Definiere Block drin ist.

<scratchblocks>
Definiere Beispielblock
. . .

Beispielblock
</scratchblocks>

ergibt

Definiere Beispielblock
. . .

Beispielblock

Benutzerdefiniertes Design

Es ist auch möglich, das Design einzelner Scratch-Blöcke zu beeinflussen, um sie nicht so anzeigen zu lassen, wie es das System automatisch festlegt.

Benutzerdefinierte Kategorie

Welcher Kategorie ein Scratchblock angehört, erkennt der Syntax. Möchte man die Farbe eines Skriptes jedoch selbst festlegen, fügt man an der entsprechenden Stelle zwei Doppelpunkte :: sowie die (englische) Skript-Kategorie fest, z. B.:

<scratchblocks>
führe benutzerdefiniertes Skript aus::custom
</scratchblocks>
führe benutzerdefiniertes Skript aus::custom

Diese Tabelle führt alle im Block-Plugin unterstützten Kategorien auf:

Kategorie Code
Bewegung::motion
::motion
Aussehen::looks
::look
Klang::sound
::sound
Malstift::pen
::pen
Variablen::variables
::variables
Listen::list
::list
Ereignisse::events
::events
Steuerung::control
::control
Fühlen::sensing
::sensing
Operatoren::operators
::operators
Benutzerdefiniert::custom
::custom
Parameter::custom-arg
::custom-arg
Erweiterungen::extension
::extension
Tipps::grey
::grey
Undefiniert::undefined
::undefined

Benutzerdefinierte Farbe

Ebenfalls kann die Anzeigefarbe der Blöcke auch exakt festgelegt werden, nämlich mit einem hexadezimalen RGB-Wert.

<scratchblocks>
führe benutzerdefiniertes Skript aus::#000000
</scratchblocks>
führe benutzerdefiniertes Skript aus::#000000

Siehe hierzu auch den Hilfe-Artikel Farben.

Benutzerdefinierte Form

Man kann auch die Form eines Blockes bestimmen, sie wird einfach nach zwei Doppelpunkten :: in englisch angehängt. Wird diese Funktion mit der benutzerdefinierten Kategorie/Farbe des Blockes kombiniert, werden keine (zusätzlichen) Doppelpunkte benötigt.

<scratchblocks>
Wenn Bühne angeklickt::events hat
</scratchblocks>
 Wenn Bühne angeklickt::events hat

Hier sind alle die dadurch definierbaren Blockformen aufgelistet:

Form Code
Kopfblock::grey hat
::hat
Stapelblock::grey stack
::stack
C-Beginn::grey cstart
::cstart
C-Alternative::grey celse
::celse
C-Schluss::grey cend
::cend
Abschlussblock::grey cap
::cap

Einfacheres Erstellen

Zum einfachen Erstellen von Skripten im BP hat das Scratch-Team Mitglied Mark (Paddle2See) ein praktisches kleines Tool entwickelt, mit dem man mit wenig Aufwand schnell zum Ziel kommt. Das Skript kann man durch die Liste dann offline exportieren und im Forum oder Wiki einsetzen. Leider existiert bis jetzt keine deutsche Version. Die eingebettete Onlineversion hier bietet auch keinerlei Exportmöglichkeit und dient reinen Demonstrationszwecken.



Schau' dir dieses Projekt auf der Scratch-Webseite an...


Weblinks

Eine Liste der deutschen Blockbezeichnungen


Code zum Einbinden ins Forum:
[wiki=de:Scratch-Wiki:Hilfe:Block Plugin]Hilfe:Block Plugin[/wiki]