api:documentation:grafik:animation
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
api:documentation:grafik:animation [2021/01/06 18:01] – [Beispiel 3: Fliegende Bälle] Martin Pabst | api:documentation:grafik:animation [2021/12/29 11:29] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 14: | Zeile 14: | ||
* Die Bewegung des Rechtecks ist sehr weich (ohne Ruckeln), da die '' | * Die Bewegung des Rechtecks ist sehr weich (ohne Ruckeln), da die '' | ||
< | < | ||
- | <div class=" | + | <div class=" |
<script type=" | <script type=" | ||
new World(1000, 1000); | new World(1000, 1000); | ||
Zeile 36: | Zeile 36: | ||
===== Beispiel 2: Hin- und herbewegende Rechtecke ===== | ===== Beispiel 2: Hin- und herbewegende Rechtecke ===== | ||
* Das '' | * Das '' | ||
- | * Falls Du das Programm mit niedriger Geschwindigkeit startest, werden nur sehr wenige Quadrate gezeichnet, das Hauptprogramm läuft nicht mehr weiter. Die Ursache liegt darin, dass der Interpreter der Ausführung der '' | ||
< | < | ||
- | <div class=" | + | <div class=" |
<script type=" | <script type=" | ||
new World(1000, 1000); | new World(1000, 1000); | ||
Zeile 79: | Zeile 78: | ||
$$x_{neu} = x + v_x$$ | $$x_{neu} = x + v_x$$ | ||
$$y_{neu} = y + v_{y, neu}$$ | $$y_{neu} = y + v_{y, neu}$$ | ||
- | Als Physiklehrer überfällt mich ein großes Unbehagen, wenn ich an die Einheiten der drei obigen Gleichungen denke. Stellt Euch daher rechts jeweils " | + | Als Physiklehrer überfällt mich ein großes Unbehagen, wenn ich an die Einheiten der drei obigen Gleichungen denke. Stellt Euch daher rechts jeweils " |
+ | === Erzeuger-Objekt === | ||
+ | Im [[# | ||
< | < | ||
- | <div class=" | + | <div class=" |
<script type=" | <script type=" | ||
new World(800, 1000); | new World(800, 1000); | ||
Zeile 121: | Zeile 122: | ||
</ | </ | ||
+ | ===== Beispiel 4: Feuerwerk ===== | ||
+ | Dieses Beispiel habe ich als Wiederholungsübung für meine zehnten Klassen im Schuljahr 2020/21 geschrieben. Damals war wegen er Corona-Epidemie das Sylvesterfeuerwerk ausgefallen. | ||
+ | {{ youtube> | ||
+ | < | ||
+ | <div class=" | ||
+ | <script type=" | ||
+ | new Feuerwerk(); | ||
+ | |||
+ | class Feuerwerk extends Actor { | ||
+ | |||
+ | | ||
+ | if(Math.random() < 0.03) { | ||
+ | |||
+ | int funkenzahl = Math.floor(Math.random() * 50 + 30); | ||
+ | int farbe = Color.randomColor(128); | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | new Funke(x, y, farbe, lebensdauer); | ||
+ | } | ||
+ | | ||
+ | |||
+ | } | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | class Funke extends Circle { | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | super(x, y, 4); | ||
+ | double winkel = Math.random() * 2 * Math.PI; | ||
+ | double v = Math.random() * 15 + 5; | ||
+ | vx = v * Math.cos(winkel); | ||
+ | vy = v * Math.sin(winkel); | ||
+ | setFillColor(farbe); | ||
+ | this.lebensdauer = lebensdauer; | ||
+ | } | ||
+ | |||
+ | | ||
+ | lebensdauer--; | ||
+ | move(vx, vy); | ||
+ | vy = vy + 0.2; | ||
+ | if(lebensdauer < 30) { | ||
+ | | ||
+ | } | ||
+ | if(isOutsideView() || lebensdauer < 0) { | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
api/documentation/grafik/animation.1609952501.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)