PImage nyan;
PImage rainbow;
int nyanX;
int nyanY;
int nyanYSpeed;
int[] starXs;
int[] starYs;
int numStars;
// runs at the beginning
void setup() {
size(1500, 500);
nyan = loadImage("http://www.nyan.cat/cats/original.gif");
rainbow = loadImage("http://i.imgur.com/BeeOhQV.png");
nyanX = 0;
nyanY = 0;
nyanYSpeed = 1;
numStars = 10;
starXs = new int[numStars];
starYs = new int[numStars];
for(int i = 0; i < numStars; i++) {
starXs[i] = (int)random(0, width);
starYs[i] = (int)random(0, height);
}
}
// runs 60 times a second
void draw() {
background(20, 20, 100);
// ellipse(x, y, w, h);
// frameCount
for(int j = 0; j < starXs.length; j++) {
ellipse(starXs[j], starYs[j], (frameCount + 10 * j) % 50, (frameCount + 10 * j) % 50);
}
image(nyan, nyanX, nyanY); // PImage, x, y
for(int i = 1; i <= 3; i++) {
image(rainbow, nyanX - 300 * i, nyanY);
}
nyanX += 4;
if(nyanX > width) {
nyanX = -300;
}
nyanY += nyanYSpeed;
if(nyanY > 300 || nyanY < 0) {
nyanYSpeed = -nyanYSpeed;
}
}