2010-12-06 10 views
1

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

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

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


if keydown (space) 
{ 
    delete all.enemyBig 
} 

Как этот код в правиле?

+2

Не ответ на вопрос, но я бы предложил посмотреть некоторые базовые руководства по JavaScript, чтобы изучить такие вещи, как правильные формы циклов `for`, область переменных и декларация и обработка событий. – 2010-12-06 18:47:43

ответ

1

В 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. 
0

Для реализации объекта:

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

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

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

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

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