api:documentation:spiele:sprites
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
api:documentation:spiele:sprites [2021/01/14 15:00] – [Animation von Sprites] Martin Pabst | api:documentation:spiele:sprites [2023/06/11 10:19] (aktuell) – [Sprites] Martin Pabst | ||
---|---|---|---|
Zeile 2: | Zeile 2: | ||
<WRAP center round info 80%> | <WRAP center round info 80%> | ||
Sprites ([[https:// | Sprites ([[https:// | ||
+ | * [[https:// | ||
</ | </ | ||
Zeile 8: | Zeile 9: | ||
< | < | ||
- | <div class=" | + | <div class=" |
<script type=" | <script type=" | ||
Zeile 27: | Zeile 28: | ||
</ | </ | ||
- | < | + | < |
Ein Sprite wird durch die Angabe der x- und y-Koordinate seines " | Ein Sprite wird durch die Angabe der x- und y-Koordinate seines " | ||
<code myJava> | <code myJava> | ||
Zeile 36: | Zeile 37: | ||
- | ===== Sprite-Bibliothek | + | ===== Übersicht über die Bilderfolgen |
- | [[https:// | + | [[https:// |
===== Animation von Sprites ===== | ===== Animation von Sprites ===== | ||
- | < | + | < |
Es gibt Bilderfolgen, | Es gibt Bilderfolgen, | ||
<code myJava> | <code myJava> | ||
Zeile 51: | Zeile 52: | ||
< | < | ||
- | <div class=" | + | <div class=" |
<script type=" | <script type=" | ||
Zeile 62: | Zeile 63: | ||
</ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== Kollision ===== | ||
+ | Wie bei allen anderen Grafikobjekten kann auch bei Sprites mit er Methode '' | ||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | new RechteckAngriff(); | ||
+ | |||
+ | class RechteckAngriff extends Actor { | ||
+ | |||
+ | Group rechtecke = new Group(); | ||
+ | | ||
+ | |||
+ | | ||
+ | super(); | ||
+ | ship.scale(0.5); | ||
+ | } | ||
+ | |||
+ | | ||
+ | if(Math.random() < 0.3) { | ||
+ | | ||
+ | } | ||
+ | |||
+ | Shape[] kollidierendeRechtecke = rechtecke.getCollidingShapes(ship); | ||
+ | |||
+ | for(Shape shape : kollidierendeRechtecke) { | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | class FliegendesRechteck extends Rectangle { | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | super(800, Math.random() * 600, Math.random() * 50 + 20, Math.random() * 100 + 20); | ||
+ | this.setBorderColor(null); | ||
+ | this.setFillColor((int)(Math.random() * 0xffffff), 0.5); | ||
+ | } | ||
+ | |||
+ | | ||
+ | move(-15, vy); | ||
+ | rotate(vAngle); | ||
+ | if(getCenterX() < 0) { | ||
+ | | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Tiled Sprites ===== | ||
+ | {{ : | ||
+ | <WRAP left round info 50%> | ||
+ | * Die Methode '' | ||
+ | * Alle Methodenaufrufe des Sprites (z.B. '' | ||
+ | * Möchte man die einzelnen Kachelbilder verändern, so erhält man mit der Methode '' | ||
+ | * Die Methode '' | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | new Beweger(); | ||
+ | |||
+ | class Beweger extends Actor { | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | s = new Sprite(200, 200, SpriteLibrary.Boulders, | ||
+ | s.makeTiling(160, | ||
+ | s.scale(3); | ||
+ | } | ||
+ | |||
+ | void act() { | ||
+ | s.getTileImage().move(2, | ||
+ | } | ||
+ | } | ||
+ | </ | ||
</ | </ | ||
api/documentation/spiele/sprites.1610632857.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)