Objekter i Bevægelse
Spring til navigation
Spring til søgning
Eksemplet her tager udgangspunkt i frameRate()[1].
Princippet der udnyttes i denne bevægelse, er at der er en fast frameRate, så skærmen opdateres 60 gange i sekundet.
Hver gang skærmen opdateres flyttes X- og Y-positionen med et bestemt step for både X og Y, så objektet flytter sig i en bestemt retning.
Hvis objektet når grænsen af skærmen, så ændres step-værdien fra positiv til negativ eller fra negativ til positiv. På den måde holdes objektet hele tiden inden for skærmens område.
int posX = 10;
int stepX = 3;
int posY = 10;
int stepY = 5;
void setup() {
size(400, 200);
frameRate(60);
}
void draw() {
background(0);
fill(255);
ellipse(posX, posY, 20, 20);
posX += stepX;
if (posX < 10 || posX > width - 10) {
stepX *= -1;
}
posY += stepY;
if (posY < 10 || posY > height - 10) {
stepY *= -1;
}
}
Referencer
- ↑ frameRate() på Processing.org