1

我可以在统一脚本中作为具有“健康”、“速度”和“耐力”的对象“敌人”。并删除对象,还是一次删除几个?

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

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


if keydown (space)
{
    delete all.enemyBig 
}

unityscript 中的这段代码如何正确?

4

3 回答 3

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.
于 2010-12-06T18:37:58.997 回答
0

要一次跟踪所有敌人,您需要一个数组。那里有一个很好的教程:

于 2010-12-06T18:55:13.317 回答
0

要实现一个对象:

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

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

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

至于删除对象,如果对象没有其他引用,垃圾收集器将处理该对象。

但是,从这个问题来看,似乎仅仅知道这些信息不会让你走得太远。拿一本关于 JavaScript 的书和/或做一些在线研究,以真正了解 JavaScript 的基础知识。

于 2010-12-06T18:56:02.387 回答