api:documentation:spiele:worldtransformations
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
api:documentation:spiele:worldtransformations [2021/05/31 10:20] – [Demo-Programm zur Methode follow] Martin Pabst | api:documentation:spiele:worldtransformations [2021/12/29 11:29] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 164: | Zeile 164: | ||
| | ||
for(int i = 0; i < 40; i++) { | for(int i = 0; i < 40; i++) { | ||
- | | + | |
| | ||
} | } | ||
Zeile 263: | Zeile 263: | ||
</ | </ | ||
+ | |||
+ | |||
+ | ===== Zyklisch-parallaktisches Scrollen ===== | ||
+ | {{ youtube> | ||
+ | |||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | new CyclicBackgroundTest(); | ||
+ | |||
+ | class CyclicBackgroundTest extends Actor { | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | int time = 0; | ||
+ | |||
+ | | ||
+ | cb1 = new CyclicBackground(new Sprite(0, 0, SpriteLibrary.Background, | ||
+ | cb2 = new CyclicBackground(new Sprite(0, 0, SpriteLibrary.Background, | ||
+ | cb3 = new CyclicBackground(new Sprite(0, 0, SpriteLibrary.Background, | ||
+ | } | ||
+ | |||
+ | | ||
+ | time++; | ||
+ | cb1.setPosition(-time, | ||
+ | cb2.setPosition(-time * 2, 200); | ||
+ | cb3.setPosition(-time * 4, 400); | ||
+ | } | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | <script type=" | ||
+ | class CyclicBackground extends Group { | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | spriteWidth = image.getWidth(); | ||
+ | int count = Math.ceil(getWorld().getWidth() / spriteWidth) + 1; | ||
+ | images = new Sprite[count]; | ||
+ | image.defineCenterRelative(0, | ||
+ | images[0] = image; | ||
+ | add(image); | ||
+ | for(int i = 1; i < count; i++) { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | void setPosition(double left, double top) { | ||
+ | if(left > 0) { | ||
+ | left -= Math.ceil(-left / spriteWidth) * spriteWidth; | ||
+ | } | ||
+ | | ||
+ | double x = left + Math.floor(-left / spriteWidth) * spriteWidth; | ||
+ | for(int i = 0; i < images.length; | ||
+ | | ||
+ | x += spriteWidth; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | } | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ |
api/documentation/spiele/worldtransformations.1622449256.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)