Объект врага в юнити скрипте

Я могу сделать в unitycript как объект «враг», который имеет «здоровье», «скорость» и «выносливость». А удалять объект, или сразу несколько?

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

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


if keydown (space)
{
    delete all.enemyBig 
}

Как бы этот код в unityscript правильно?


person raul corrales    schedule 06.12.2010    source источник
comment
Не ответ на вопрос, но я бы посоветовал просмотреть некоторые базовые учебные пособия по JavaScript, чтобы узнать о таких вещах, как правильные формы циклов for, область действия и объявление переменных, а также обработка событий.   -  person Ryan Kinal    schedule 06.12.2010


Ответы (3)


Чтобы отслеживать всех врагов одновременно, вам нужен массив. Там есть хороший учебник:

person redtuna    schedule 06.12.2010

В 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.
person hvgotcodes    schedule 06.12.2010

Чтобы реализовать объект:

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

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

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

Что касается удаления объекта, сборщик мусора позаботится об этом объекте, если у него нет других ссылок на него.

Но, судя по вопросу, похоже, что просто знание этой информации далеко не уведет вас. Возьмите книгу по JavaScript и/или проведите онлайн-исследование, чтобы действительно понять основы JavaScript.

person Stephen Watkins    schedule 06.12.2010