Objekt Feind in unityscript
-
09-10-2019 - |
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?
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.