UnityScriptのオブジェクト敵
-
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 () { ... };
メソッドを定義するために上記を行う場合、メソッドはインスタンスメソッドです。 IEすべてのオブジェクトには、メソッドの独自のコピーがあります。 「静的」メソッドを定義する場合は、クラスにメソッドを配置するだけです
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();
オブジェクトを削除する限り、Garbage Collectorは、他の参照がない場合、オブジェクトの処理を行います。
しかし、質問から、それはように見えます ただ この情報を知ることはあなたを遠くに運ぶことはありません。 本をつかむ JavaScriptおよび/または いくつかのオンライン調査を行います JavaScriptの基礎を本当に理解するため。
所属していません StackOverflow