Objekt

Im Zentrum der Programmiersprache Scratch stehen die Objekte. Diese können sich auf der Bühne bewegen, miteinander interagieren oder vom Benutzer gesteuert werden. Um die gewünschte Funktionalität zu erhalten, schreiben wir einerseits Skripte für die Objekte, andererseits bestimmen wir deren Aussehen und Fähigkeiten mittels sogenannter Eigenschaften.

Auch die Bühne ist ein Objekt. Allerdings unterscheiden sich ihre Eigenschaften von denen der beweglichen Objekte. So besitzt sie keine Position und keine Ausrichtung. Klänge hat sie aber auch, Kostüme heissen hier «Hintergründe» und Aktionen mit Skripten sind auch möglich.

Objekte mit Eigenschaften und Aktionen (auch Methoden genannt) bilden den Kern der sogenannte Objekt-orientierten Programmierung (OOP). Die meisten modernen Programmiersprachen sind Objekt-orientiert (C#, C++, Java, ...) und viele unterstützen Objekt-orientiertes Programmieren (z.B. Python, PHP, …).

Eigenschaften

Alle Objekte haben die gleichen Eigenschaften. Allerdings kann jedes Objekt unterschiedliche Ausprägungen dieser Eigenschaften besitzen. Einige der Eigenschaften lassen sich mit einem Klick auf das «i» einblenden und editieren.

Eigenschaften des Objektes «Sprite1» anzeigen
Eigenschaften des Objektes «Sprite1»

Die Eigenschaften der Scratch-Objekte sind:

Beweglichkeit «rotation style»
Dadurch wird festgelegt, wie sich das Objekt bewegen kann. Die Einstellung geschieht über die drei Knöpfe (siehe Screenshot oberhalb).
Zur Auswahl stehen: «Frei drehbar», «Kann sich nur nach links/rechts richten» und «Nicht drehbar».
Position «x» und «y»
Durch x- und y-Koordinate wird jedem Objekt eine Position auf der Bühne zugewiesen.
Ausrichtung «direction»
Die momentane Ausrichtung des Objekts wird in Grad gemessen. 0 Grad entspricht Norden, resp. 12 Uhr. Gezählt wird im Uhrzeigersinn.
Kostüme
Jedes Objekt kann mehrere Kostüme haben. Ein Kostüm ist eigentlich ein Bild welches dann an der korrekten Stelle auf der Bühne gezeichnet wird und das Objekt repräsentiert. Durch Umschalten der Kostüme können Animationen oder verschiedene Zustände des Objektes dargestellt werden.
Klänge
Ein Objekt kann Klänge besitzen welche sich per Skript abspielen lassen.
Variablen
Wenn das Objekt sich gewisse Werte merken muss (z.B. den Spielstand), so kann man das mit Hilfe von Variablen erreichen. Diese Variablen verändert und liest man dann aus dem Skript heraus.

Objekte besitzen auch Namen. Dabei handelt es sich nicht um Eigenschaften, sondern um eine Hilfe damit wir die Objekte im Skript mit ihrem Namen ansprechen können. Das Objekt im obigen Screenshot heisst «Sprite1», was ein schlechter Name ist – weil nicht aussagekräftig. Viel besser wäre «Scratch» oder «Spieler».

Aktionen

Neben den Eigenschaften sind natürlich die Aktionen wichtig, die ein Objekt macht oder womit es auf bestimmte Eingaben oder andere Objekte reagiert. Diese Aktionen werden in Skripten festgehalten. Jedes Objekt kann beliebig viele solcher Skripte besitzen. Im folgenden wollen wir diese Skripte genauer studieren.