Frage

Ich kann als ein Objekt „Feind“ in unitycript tun, die „Gesundheit“, „Geschwindigkeit“ und „Ausdauer“ hat. Und das Objekt zu löschen, oder mehr auf einmal?

class enemy {
    health = 100
    speed = 10
    stamina = 200
}

for 0 to 10
{
    enemyBig = new Enemy ()
}


if keydown (space)
{
    delete all.enemyBig 
}

Wie würde dieser Code in unityscript korrekt?

War es hilfreich?

Lösung

Um den Überblick über alle Ihre Feinde zu halten auf einmal, was Sie brauchen, ist eine genannt Array . Es gibt ein gutes Tutorial gibt:

Andere Tipps

In JavaScript aktivieren, um eine Klasse zu definieren, erstellen Sie eine Funktion.

function Enemy {
   this.health = 100;
   ....
};

und dann Methoden setzt auf dem Prototyp (weil Javascript prototypal Vererbung verwendet.)

Enemy.prototype.theMethod = function () { ... };

Wenn Sie die oben tun, um eine Methode zu definieren, ist die Methode eine Instanzmethode; d.h. Jedes Objekt hat seine eigene Kopie des Verfahrens. Wenn Sie eine ‚statische‘ Methode definieren möchten, müssen Sie nur die Methode für die Klasse setzen

Enemy.staticMethod = function() {...};

die Differenz für die erstere Sie tun können,

var enemy1 = new Enemy();
enemy1.theMethod(); // this in the theMethod refers to enemy1

und für letzteres Sie tun

Enemy.staticMethod(); // there is only one staticMethod for the entire class.

Um ein Objekt zu implementieren:

function Enemy {
    this.health = 100;
    ...
};

Enemy.prototype.attack = function() {
    this.health -= 10;
    ...
};

var boogerMonster = new Enemy();
boogerMonster.attack();

Was ein Objekt zu löschen, der Garbage Collector wird des Objekts kümmern, wenn es keine anderen Verweise auf sie hat.

Aber, von der Frage, es sieht aus wie nur , um diese Informationen zu wissen, werden Sie nicht weit tragen. Schnappen Sie sich ein Buch auf JavaScript und / oder einige Online-Forschung tun , um wirklich die Grundlagen der JavaScript zu verstehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top