Aus Das deutschsprachige Scratch-Wiki
(Weitergeleitet von Block Plugin)
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 ist 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
- Diskussionsforen » New Scratchers » A guide to Scratchblocks and other BBCode help
- 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
- Official scratchblocks homepage
- https://github.com/scratchblocks - Scratch Blocks im Github
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
[wiki=de:Scratch-Wiki:Hilfe:Block Plugin]Hilfe:Block Plugin[/wiki]