Wir nutzen Cookies, um das allgemeine Benutzerelebnis zu verbessern. Mit der Nutzung unseres Wikis stimmst du der Nutzung von Cookies zu.

Scratch-Wiki:Hilfe:Block Plugin

← zurück zum Hilfeportal


Das Block Plugin (BP) wird dazu verwendet, um einzelne Blöcke oder ganze Skripte als Graphik im 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 Forum 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.

Aktuell muss das Plugin dringend "überholt" werden, weil einige Sprachen (indo, ru) nicht komplett funktionieren und auch in Deutsch ein par Blöcke fehlen, siehe: GP#Block Plugin Test.


Code

Beispiel:

<scratchblocks>
Wenn gf angeklickt 
sage [Hallo] für (5) sek.
</scratchblocks>

->

Wenn gf angeklickt
sage [Hallo] für (5) sek.

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 (obsolete) Block:

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

->

mich gibt's nicht

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]))
 gehe (Zufallszahl von (50) bis (60))er-Schritt
 sage (verbinde [Hallo] (Welt))
 verstecke Variable [Zahl v]
 ende
 </scratchblocks>

->

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

Auswahllisten 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 gf angeklickt
 warte (1) Sek. //Ein Beispielkommentar
 stoppe [alles v]
 </scratchblocks> 

ergibt

Wenn gf angeklickt
warte (1) Sek. //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 (sowieso) Grad"-Blöcken muss mit "im Uhrzeigersinn"und "gegen den Uhrzeigersinn" zwischen Uhrzeigersin und gegen den Uhrzeigersinn unterschieden werden. Das sieht dann so aus:

<scratchblocks>
drehe dich im Uhrzeigersinn um (wie viel Grad auch immer) Grad
drehe dich gegen den Uhrzeigersinn um (blabla) Grad
</scratchblocks>

->

 drehe dich im Uhrzeigersinn um (wie viel Grad auch immer) Grad
 drehe dich gegen den Uhrzeigersinn um (blabla) Grad

[Wenn grüne Flagge angeklickt]

Die Schwierigkeit bei diesem Block stellt die Grafik der grünen Flagge dar. Wir können sie nur mit der Abkürzung gf erzeugen.

<scratchblocks>
Wenn gf angeklickt
</scratchblocks>

->

Wenn gf angeklickt

Definiere [ ]

Hier ist der kleine aber entscheidende Unterschied, dass man nicht Definiere eingeben darf, sondern Define eingeben muss.

<scratchblocks>
Definiere Beispielblock
</scratchblocks>

ergibt

Definiere Beispielblock
<scratchblocks>
define Beispielblock
</scratchblocks>

ergibt

define 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>
Beispielblock
</scratchblocks>

ergibt

Beispielblock
<scratchblocks>
define Beispielblock

Beispielblock
</scratchblocks>

ergibt

define 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

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

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>
Variable [Variable v] :: variables hat
</scratchblocks>
 Variable [Variable v] :: variables hat

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]Scratch-Wiki:Hilfe:Block Plugin[/wiki]