Aus Das deutschsprachige Scratch-Wiki

Block
benutzerdefinierter Block::custom
Kategorie: Weitere Blöcke
Typ: Stapelblock
Eingeführt in: Scratch 2.0
Eingaben: beliebig
Plugin-Code (Wiki): Block


Beispielblöcke

() Ist ein benutzerdefinierter Block in Stapelblockform der Kategorie Weitere Blöcke. Er kann Skripte (Verfahren), die dem passenden Definiere ()-Block angehängt sind, ausführen. Jeder "Definiere ()"-Block besitzt eine eigene Version dieses Blockes.

Der Block-Erstellen-Dialog

Erstellen

Ein Verfahren wird durch das Klicken auf "Erstelle einen Block" in der "Weitere-Blöcke"-Kategorie erstellt. Nun öffnet sich ein Fenster, in welchem man dem Block einen Namen geben kann und Argumente hinzufügen kann. Wenn man nun auf "OK" klickt, erstellt sich ein "Definiere ()" Block. Unter dem Block kann man nun Blöcke hinzufügen, die man durch den entsprechend gleichbezeichneten "()"-Block ausführen kann.

Das Bearbeitungsfenster lässt sich später erneut aufrufen, indem man durch das Anklicken des jeweiligen Blockes mit der rechten Maustaste das Kontextmeü aufruft und "Bearbeiten" wählt.

Beispiel

In diesem Beispiel möchten wir, dass eine Figur immer dann wenn ein eigener Block namens "springen" aufgerufen wird, eben dieses tut. Dies könnte zum Beispiel bei einer Animation, in der eine Figur häufiger springen soll, nützlich sein.

Zunächst wird das Verfahren unter dem "Definiere ()"-Block definiert:

Definiere springe
wiederhole (20) mal
ändere y um (1)//vorwärtsgehen
ende
wiederhole (20) mal
ändere y um (-1)//rückwärtsgehen
ende

Dann wird das Skript mithilfe des "()"-Blockes ausgeführt:

Wenn gf angeklickt
springe::custom

Block-Plugin-Code

Damit der Scratch-Block-Plugin erkennt, dass es sich um einen benutzerdefinierten Block handelt, sollte der Block-Plugin-Code im Quelltext auch die Kategorie-Definition ::custom enthalten, sodass der Block auch entsprechend in violett angezeigt wird.

Scratch-Block//undefinierter Block

Scratch-Block::custom//benutzerdefinierter Block

Siehe auch



Code zum Einbinden ins Forum:
[wiki=de:() (Weitere Blöcke)]() (Weitere Blöcke)[/wiki]