Objekter i Bevægelse

Fra HTX Arduino
Spring til navigation Spring til søgning
Programmets visning af bevægelse

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

  1. frameRate() på Processing.org
Spiludvikling - Processing
Bruger-input mousePressed() - mouseReleased() - mouseClicked() - mouseMoved() - mouseDragged() - mouseX og mouseY - mouseButton - mousePressed - keyPressed() - keyReleased() - keyTyped() - key - keyCode - keyPressed - Flere taster
Data-model Objekt Placering - Objekt Hastighed - Spilleplade - Flere Objekter - Array i Spil - 2-dimensionelt Array - Spil Hop - Highscore - Start-skærm
Visning Rektangel - Cirkel - Spilleplade - Grafikobjekter - Farver i Spil - Kollision
Spil-tid frameRate - Objekter i Bevægelse - Spilletid - Spil Opdatering - Udvikling i Tid