Willkommen auf unserem Seminar-Blog

Immer auf dem aktuellen Stand bleiben

Dieser Seminar-Blog befindet sich noch im Aufbau und wird in den kommenden Tagen entsprechend verfeinert.

Member Login

Lost your password?

Registration is closed

Sorry, you are not allowed to register by yourself on this site!

You must either be invited by one of our team member or request an invitation by email at viad.info {at} zhdk {dot} ch.

Klassen mit Gravitation

2. November 2011

Mit einem wirklich winzigen Stücklein Code, kann ich einer Klasse eine Gravitation verpassen, sodass die Bälle (die nebenbei bei jedem hochspringen auch noch ihre Farbe ändern, irgendwann ihre Sprungkraft verlieren). Ball_Gravity_Class Dazu hier der Code: Die Essenz liegt in der Funktion Gravity

class Ball {

  // Globale Variablen (Lage, Speed etc.)
  float x = 0;
  float y = 0;
  float speedX = 4;
  float speedY = 4;

  // Konstruktor (Wie wird die Klasse gebaut, Variablen aufrufen, wird nur einmal aufgerufen)
  Ball (float _x, float _y) { // Diese Variablen sind nur im Konstruktor zugänglich…

    x = _x;   //… deshalb werden Sie mit den Globalen Variablen verknüpft.
    y = _y;
  }

  // Funktionen
  void run () {
    //Anzeigen
    display();
    //Bewegung
    move();
    //Springen
    bounce();
    //Gravitation
    gravity();
  }

  void gravity() {
  speedY += 00.25;
  
  }

  void bounce () {
    if (x > width) {
      speedX = speedX * -1;
    }
    if (x  height) {
      speedY = speedY * -1;
    }
    if (y < 0) {
      speedY = speedY * -1;
    }
  }

  void move () {
    x += speedX;
    y += speedY;
  }

  void display () {
    fill (x,y,120,x);
    noStroke();
    ellipse (x, y, 50, 50);
  }
}