7 Animationen: "world.ss"

▼ |  | Sprachebenen und Material zu Schreibe Dein Programm! / Die Macht der Abstraktion

1 | Die Macht der Abstraktion - Anfänger
2 | Die Macht der Abstraktion
3 | Die Macht der Abstraktion mit Zuweisungen
4 | Die Macht der Abstraktion fortgeschritten
5 | Konstruktionsanleitungen 1 bis 10
6 | Bilder konstruieren: "image.ss"
7 | Animationen: "world.ss"
8 | Turtle-Grafik: "turtle.ss"
9 | Abspielen von Audio-Dateien: "sound.ss"
10 | 3D-Liniengraphik: "line3d.ss"
11 | DMd A: Sprachen als Libraries
| Index

On this page:

world
mouse-event-kind
big-bang
on-tick-event
on-key-event
on-mouse-event
on-redraw
end-of-time

top ← prev up next →

### 7`` Animationen: "world.ss"

Note: This is documentation for the "world.rkt" teachpack that goes with the German textbook Die Macht der Abstraktion.

Dieses Teachpack ermöglicht, kleine Animationen und Spiele zu programmieren. Es enthält alle Prozeduren aus dem image-Teachpack.

> value world : signature

Eine Welt (Name: world) ist die Repräsentation des Zustands, der durch die Animation abgebildet wird.

> value mouse-event-kind : signature

(one-of "enter" "leave" "motion" "left-down" "left-up" "middle-down" "middle-up" "right-down" "right-up")

Eine Mausereignis-Art (Name: mouse-event-kind) bezeichnet die Art eines Maus-Ereignisses:

"enter" bedeutet, daß der Mauszeiger gerade in das Fenster hinein bewegt wurde. "leave" bedeutet, daß der Mauszeiger gerade aus dem Fenster heraus bewegt wurde. "motion" bedeutet, daß der Mauszeiger innerhalb des Fensters bewegt wurde. Die anderen Zeichenketten bedeuten, daß der entsprechende Mausknopf gedrückt oder losgelassen wurde.

> value big-bang : (natural natural number world -> (one-of #t))

Der Aufruf (big-bang w h n w) erzeugt eine Leinwand mit Breite w und Höhe h, startet die Uhr, die alle n Sekunden tickt, und macht w zur ersten Welt.

> value on-tick-event : ((world -> world) -> (one-of #t))

Der Aufruf (on-tick-event tock) meldet tock als Prozedur an, die bei jedem Uhren-Tick aufgerufen wird, um aus der alten Welt eine neue zu machen.

> value on-key-event : ((world string -> world) -> (one-of #t))

Der Aufruf (on-key-event change) meldet change als Prozedur an, die bei jedem Tastendruck aufgerufen wird, um aus der alten Welt eine neue zu machen. Dabei wird als Argument eine Zeichenkette übergeben, welche die Taste darstellt, also "a" für die A-Taste etc., sowie "up", "down", "left", und "right" für die entsprechenden Pfeiltasten und "wheel-up" für die Bewegung des Mausrads nach oben und "wheel-down" für die Bewegung des Mausrads nach unten.

> value on-mouse-event
> : ((world natural natural mouse-event-kind -> world) -> (one-of #t))

Der Aufruf (on-mouse-event change) meldet change als Prozedur an, die bei jedem Mausereignis aufgerufen wird, um aus der alten Welt eine neue zu machen. Die change-Prozedur wird als (change w x y k) aufgerufen. Dabei ist w die alte Welt, x und y die Koordinaten des Mauszeigers, und k die Art des Mausereignisses.

> value on-redraw : ((world -> image) -> (one-of #t))

Der Aufruf (world->image world->image) meldet die Prozedur world->image an, die aus einer Welt ein Bild macht, das auf der Leinwand dargestellt wird.

> value end-of-time : (string -> world)

Diese Prozedur hält die Welt an und druckt ihr Argument in der REPL aus.
top ← prev up next →