Объект врага в единице
-
09-10-2019 - |
Вопрос
Я могу сделать в Unitycript как объект «врага», который имеет «здоровье», «скорость» и «выносливость». И удалить объект или несколько одновременно?
class enemy {
health = 100
speed = 10
stamina = 200
}
for 0 to 10
{
enemyBig = new Enemy ()
}
if keydown (space)
{
delete all.enemyBig
}
Как бы этот код в UnityScript правильно?
Решение
Чтобы отследить всех ваших врагов одновременно, то, что вам нужно, называется множество. Отказ Там есть хороший учебник:
Другие советы
В JavaScript, чтобы определить класс, который вы создаете функцию.
function Enemy {
this.health = 100;
....
};
а затем поставить методы на прототип (потому что JavaScript использует прототип наследования.)
Enemy.prototype.theMethod = function () { ... };
Когда вы делаете вышеизложенное, чтобы определить метод, метод является методом экземпляра; Т.е. каждый объект имеет свою собственную копию метода. Если вы хотите определить «статический» метод, вы просто поместите метод в классе
Enemy.staticMethod = function() {...};
Разница для первого вы можете сделать
var enemy1 = new Enemy();
enemy1.theMethod(); // this in the theMethod refers to enemy1
и для последнего вы делаете
Enemy.staticMethod(); // there is only one staticMethod for the entire class.
Для реализации объекта:
function Enemy {
this.health = 100;
...
};
Enemy.prototype.attack = function() {
this.health -= 10;
...
};
var boogerMonster = new Enemy();
boogerMonster.attack();
Что касается удаления объекта, сборщик мусора позаботится об объекте, если у него нет других ссылок на него.
Но, от вопроса, это выглядит как только что Зная, что эта информация не несет вас далеко. Схватить книгу на JavaScript и / или сделать некоторые онлайн исследования Чтобы понять основы JavaScript.