Sprite-Test
Ich habe mal wieder mit Processing gespielt und eine kleine Sprite-Animation gebastelt. Untenstehendes Applet ist dabei herausgekommen.
Ich habe damit im wesentlichen zwei Ziele verfolgt:
- Ich wollte sehen, ob der Alpha-Channel (Transparenz) bei GIF- und PNG-Dateien berücksichtigt wird (zumindest bei GIF wird er berücksichtigt).
- Und ich wollte sehen, wie smooth solch eine kleine Animation abläuft, auch wenn das Hintergrundbild eine Photographie ist.
Das Ergebnis überzeugt …
Quelltext
Wie (fast) immer bei Processing ist der Quelltext von erfrischender Kürze:
PImage bgImage;
int numSprites = 2;
PImage[] sprite = new PImage[numSprites];
int dia;
int speed;
int x;
int dir = 1;
void setup() {
size(320, 240);
bgImage = loadImage("background.jpg");
sprite[0] = loadImage("pythonicon1.gif");
sprite[1] = loadImage("pythonicon2.gif");
dia = sprite[0].width;
speed = 2;
frameRate(30);
}
void draw() {
image(bgImage, 0, 0);
x += (speed*dir);
if ((x > (width - dia)) || (x < 0)) {
dir *= -1;
}
if (dir == 1) {
image(sprite[0], x, 170);
}
else {
image(sprite[1], x, 170);
}
}
Material
Wer das Beispielprogramm nachprogrammieren möchte, hier sind die dafür benötigten Bildchen:
Sie sind hier: Start → Programmierung → Creative Coding → Processing → spritetest.txt