JumpNRun 03


Schießen und Treffen


Erklärungen zum Quellcode

Festlegung der Variablen

let schussobjekte;
let zielobjekt;
let trefferzaehler = 0;

Neu sind die Variablen für die Schüsse und Treffer. Die Schüsse werden zu einer Gruppe zusammengefasst. Sobald ein Schuss das Ziel trifft wird eine Aktion ausgelöst, in unserem Fall wird ein Zähler um eins vergrößert und das Schussobjekt gelöscht.


Die Methode setup()

function setup() {
  //Anweisungen
}

Die Anweisungen in setup() werden genau einmal zu Beginn des Programms ausgeführt.

schussobjekte = new Group();

Die Schussobjekte werden in einer Gruppe (schussobjekte) zusammengefasst.

  zielobjekt = createSprite(500, height-75, 20, 50);
  zielobjekt.shapeColor = color(20,100,33); 

Das Zielobjekt wird eingefügt.


Die Methode draw()

function draw() {
  //Anweisungen
}

Die Anweisungen in draw() werden 60 mal pro Sekunde ausgeführt.

  zielobjekt.overlap(schussobjekte, treffer);
  randAussen.overlap(schussobjekte, schussloeschen);

Wenn ein Schussobjekt die Zielfigur berührt wird die Methode treffer aufgerufen, die am Ende des Quellcodes steht. Wenn ein Schussobjekt den Rand berührt wird die Methode schussloeschen aufgerufen, die am Ende des Quellcodes steht.

  if(keyWentDown(32)) {
      let schussobjekt = createSprite(figur.position.x+10, figur.position.y-5, 7, 7);
      schussobjekt.velocity.x = 9;
      schussobjekte.add(schussobjekt);
  }

Wenn man die Leertaste (keycode = 32) drückt, wird ein Schussobjekt erzeugt, der Schussgruppe hinzugefügt und mit der Geschwindigkeit 9 losgeschickt. Auf der Seite http://keycode.info/ kann man herausfinden welcher keycode zu welcher Taste gehört.

text("Treffer: " + trefferzaehler.toString(), 30,80)

Im Spielfeld wird oben links der Wert der Treffervariablen geschrieben.


Die Methode treffer(ziel, schuss)

function treffer(ziel, schuss) {
   //Anweisungen
}

Die Methode treffer(ziel, schuss) wird gestartet, sobald ein Schuss das Zielobjekt trifft.

function treffer(ziel, schuss) {
  trefferzaehler++;
  schuss.remove();
}

Sobald ein Schuss das Ziel trifft, wird die Treffervariable eins erhöht und das Schussobjekt wird entfernt.


Die Methode schussloeschen(rand, schuss)

function schussloeschen(rand, schuss) {
  //Anweisungen
}

Die Methode schussloeschen(rand, schuss) wird gestartet, sobald ein Schuss den Rand trifft.

function schussloeschen(rand, schuss) {
  schuss.remove();
}

Sobald ein Schuss den Rand trifft, wird das Schussobjekt entfernt.