Aus Das deutschsprachige Scratch-Wiki

← 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 Uhrzeigersinn 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]