objektbeziehungen:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
objektbeziehungen:start [2023/01/10 08:32] – Martin Pabst | objektbeziehungen:start [2024/04/09 12:06] (aktuell) – [Bewegen des Geistes] Martin Pabst | ||
---|---|---|---|
Zeile 18: | Zeile 18: | ||
{{ : | {{ : | ||
Im Klassendiagramm stellen wir so eine Objektbeziehung folgendermaßen dar: | Im Klassendiagramm stellen wir so eine Objektbeziehung folgendermaßen dar: | ||
- | {{ : | + | {{ : |
\\ \\ | \\ \\ | ||
Zeile 25: | Zeile 25: | ||
</ | </ | ||
+ | ===== Erstes Projekt: Die Klasse Ghost ===== | ||
+ | <WRAP center round todo 60%> | ||
+ | {{ : | ||
+ | Wir wollen eine Klasse '' | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | Ghost g = new Ghost(400, 300, 0x308020); | ||
+ | g.setDirection(" | ||
+ | g.setDirection(" | ||
+ | g.setDead(true); | ||
+ | |||
+ | |||
+ | class Ghost { | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | body = new Sprite(x, y, SpriteLibrary.PMan, | ||
+ | eyes = new Sprite(x, y, SpriteLibrary.PMan, | ||
+ | this.color = color; | ||
+ | |||
+ | changeEyes(); | ||
+ | changeBody(); | ||
+ | |||
+ | body.playAnimation(15, | ||
+ | } | ||
+ | |||
+ | void setDead(boolean isDead) { | ||
+ | this.isDead = isDead; | ||
+ | changeEyes(); | ||
+ | changeBody(); | ||
+ | } | ||
+ | |||
+ | void setDirection(String direction) { | ||
+ | this.direction = direction; | ||
+ | changeEyes(); | ||
+ | } | ||
+ | |||
+ | | ||
+ | if(isDead) { | ||
+ | | ||
+ | } else { | ||
+ | | ||
+ | case " | ||
+ | | ||
+ | | ||
+ | case " | ||
+ | | ||
+ | | ||
+ | case " | ||
+ | | ||
+ | | ||
+ | case " | ||
+ | | ||
+ | | ||
+ | default : | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | | ||
+ | if(isDead) { | ||
+ | | ||
+ | | ||
+ | } else { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Bewegen des Geistes ===== | ||
+ | <WRAP center round info 80%> | ||
+ | |||
+ | Um den Geist flüssig zu bewegen, müssen wir ihn in genau festgelegten Zeitabständen um jeweils ein kleines bisschen verschieben. Wir müssen daher erreichen, dass eine von uns programmierte Methode in genau festgelegten Zeitabständen immer wieder aufgerufen wird. Die Online-IDE stellt uns dafür die Klasse '' | ||
+ | Die Klasse '' | ||
+ | </ | ||
+ | |||
+ | |||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | Ghost g = new Ghost(400, 300, 0x308020); | ||
+ | g.setDirection(" | ||
+ | g.setDirection(" | ||
+ | g.setDead(true); | ||
+ | |||
+ | |||
+ | class Ghost extends Actor { | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | body = new Sprite(x, y, SpriteLibrary.PMan, | ||
+ | eyes = new Sprite(x, y, SpriteLibrary.PMan, | ||
+ | this.color = color; | ||
+ | |||
+ | changeEyes(); | ||
+ | changeBody(); | ||
+ | |||
+ | body.playAnimation(15, | ||
+ | } | ||
+ | |||
+ | | ||
+ | if(isKeyDown(" | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | if(isKeyDown(" | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | if(isKeyDown(" | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | if(isKeyDown(" | ||
+ | | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | void setDead(boolean isDead) { | ||
+ | this.isDead = isDead; | ||
+ | changeEyes(); | ||
+ | changeBody(); | ||
+ | } | ||
+ | |||
+ | void setDirection(String direction) { | ||
+ | this.direction = direction; | ||
+ | changeEyes(); | ||
+ | } | ||
+ | |||
+ | | ||
+ | if(isDead) { | ||
+ | | ||
+ | } else { | ||
+ | | ||
+ | case " | ||
+ | | ||
+ | | ||
+ | case " | ||
+ | | ||
+ | | ||
+ | case " | ||
+ | | ||
+ | | ||
+ | case " | ||
+ | | ||
+ | | ||
+ | default : | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | | ||
+ | if(isDead) { | ||
+ | | ||
+ | | ||
+ | } else { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
objektbeziehungen/start.1673339530.txt.gz · Zuletzt geändert: 2023/01/10 08:32 von Martin Pabst