Aus Das deutschsprachige Scratch-Wiki

(Weitergeleitet von Überlagerung)

Dieser Artikel behandelt eine Programmiertechnik. Weitere Informationen zu Ebenen gibt es im Artikel Ebene. Allgemeines zu 3D-Techniken in Scratch gibt es im Artikel 3D in Scratch.

Eine Überlagerung von Figuren mithilfe der Ebenen kann helfen, einen 3D-Effekt nach der „Nicht drehen“ Methode in Projekten zu schaffen. Dazu ordnet man eine Figur vor einer anderen an. Das geschieht mithilfe von diesen beiden Blöcken:

komme nach vorn

gehe () Ebenen nach hinten

Unbewegliche Figuren

Möchte man Figuren, die nicht ziehbar sind, in einem Scratch-Projekt verwenden, kann man sie ganz einfach schon in der Position, in der sie nachher liegen sollen, anordnen. Zum Beispiel gibt es zwei Figuren, die übereinander liegen. Wollen wir eines davon nach vorn bekommen, benutzen wir folgenden Skript:

Wenn grüne Flagge angeklickt
komme nach vorn 

Dieser lässt eine Figur nach vorne kommen, das heißt, dass sie über allen anderen liegt. Man kann sich das gut mithilfe eines Papiers vorstellen. Stelle Dir vor, Du hättest ein Blatt Papier und nun legst Du mehrere ausgeschnittene Figuren darauf, alle übereinander. Nun nimmst Du Dir eine Figur und legst sie auf alle anderen. Dadurch kannst Du sie vollständig sehen. Das ist im Prinzip das, was der "komme nach vorn"-Block macht. Nun kannst Du die Figur auch unter die anderen legen. Wie viele Figuren nachher über der einen Figur liegen, bestimmt das Eingabefeld im "gehe () Ebenen nach hinten"-Block.

Bewegliche Figuren

Gibt es eine ziehbare Figur, müssen wir fortlaufend kontrollieren, an welcher Position die Figur ist und auf welcher Ebene sie angeordnet werden sollte. Dafür benutzen wir folgenden Block, der die Figuren nach ihrer Position ordnet.

Wenn grüne Flagge angeklickt
wiederhole fortlaufend
komme nach vorn
gehe (y-Position) Ebenen nach hinten

Das funktioniert so: Alle Figuren kommen gleichzeitig nach vorn, wobei es dem Zufall überlassen ist, welche Figur dann auch wirklich ganz vorn ist. Das dient dazu, alle Figuren neu ordnen zu können, ohne einzelne Figuren bestimmen zu müssen, die nach vorn kommen müssen. Danach beginnt das Sortieren: Je weiter vorn etwas ist, desto mehr andere Dinge liegen hinter ihm, werden also von dem Gegenstand überdeckt. Da die eigentliche z-Achse im zweidimensionalen Scratch nicht vorhanden ist, benutzen wir stattdessen die y-Achse. Diese bestimmt die eigentliche z-Position. Nun machen wir uns die y-Position zusammen mit dem "gehe () Ebenen nach hinten"-Block zunutze. Wenn eine Figur sehr weit vorne ist, also als y-Position einen negativen Wert hat, kommt sie nach vorn, denn minus mal minus ergibt bekanntlich plus, das "gehe nach hinten" wird also zu einem "gehe nach vorne". Je weiter oben die Figuren sind, desto größer ist ihre y-Position, desto weiter gehen sie also auch nach hinten und verschwinden hinter weiter vorn gelegenen Figuren.

Beispielprojekt

Hier siehst Du ein Scratch-Projekt, an dem Du die Wirkung der Überlagerungs-Technik sehen kannst. Achtung: Manchmal funktioniert es nicht richtig, lade die Seite in dem Fall bitte neu.

Überlagerung

Schau' dir dieses Projekt auf der Scratch-Webseite an...


Siehe auch



Code zum Einbinden ins Forum:
[wiki=de:Überlagerung (3D-Effekt)]Überlagerung (3D-Effekt)[/wiki]