在Unityscript中对待敌人
-
09-10-2019 - |
题
我可以作为一个具有“健康”,“速度”和“耐力”的对象“敌人”。并一次删除对象?
class enemy {
health = 100
speed = 10
stamina = 200
}
for 0 to 10
{
enemyBig = new Enemy ()
}
if keydown (space)
{
delete all.enemyBig
}
该代码如何正确地正确?
解决方案
为了立即跟踪所有敌人,您需要的就是 大批. 。那里有一个很好的教程:
其他提示
在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的基本面。
不隶属于 StackOverflow