Domanda

I può fare in unitycript come un oggetto "nemico" che ha "salute", "velocità" e "capacità di resistenza". E per eliminare l'oggetto, o più in una volta?

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

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


if keydown (space)
{
    delete all.enemyBig 
}

Come questo codice correttamente in unityscript?

È stato utile?

Soluzione

Per tenere traccia di tutti i tuoi nemici in una volta, quello che ti serve è chiamato un array . C'è un buon tutorial lì:

Altri suggerimenti

In JavaScript, per definire una classe si crea una funzione.

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

e poi di mettere i metodi sul prototipo (perché JavaScript utilizza l'ereditarietà prototipale.)

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

quando si esegue quanto sopra per definire un metodo, il metodo è un metodo di istanza; cioè ogni oggetto ha la propria copia del metodo. Se si vuole definire un metodo 'statica', basta mettere il metodo sulla classe

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

la differenza è per l'ex si può fare

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

e per questi ultimi si fa

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

Per implementare un oggetto:

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

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

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

Per quanto riguarda l'eliminazione di un oggetto, il garbage collector si prenderà cura di oggetto se non ha altri riferimenti ad esso.

Ma, dalla questione, sembra che solo sapendo questo informazioni non porterà lontano. prendere un libro su JavaScript e / o fare qualche ricerca online per capire i fondamenti di JavaScript.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top