Javascript 统一/如何设置敌人繁殖的限制?

Javascript 统一/如何设置敌人繁殖的限制?,javascript,unity3d,unity5,unityscript,Javascript,Unity3d,Unity5,Unityscript,我设法繁殖了敌人,但他们一直在繁殖。我如何设置限制以避免不断繁殖 我试图添加spawnLimit和spawnCounter,但无法使其工作 var playerHealth = 100; // Reference to the player's heatlh. var enemy : GameObject; // The enemy prefab to be spawned. var spawnTime : float = 3f; //

我设法繁殖了敌人,但他们一直在繁殖。我如何设置限制以避免不断繁殖

我试图添加spawnLimit和spawnCounter,但无法使其工作

var playerHealth = 100;     // Reference to the player's heatlh.
var enemy : GameObject;                // The enemy prefab to be spawned.
var spawnTime : float = 3f;            // How long between each spawn.
var spawnPoints : Transform[];         // An array of the spawn points this enemy can spawn from.


function Start ()
{
    // Call the Spawn function after a delay of the spawnTime and then continue to call after the same amount of time.
    InvokeRepeating ("Spawn", spawnTime, spawnTime);
}


function Spawn ()
{
    // If the player has no health left...
    if(playerHealth <= 0f)
    {
        // ... exit the function.
        return;
    }


    // Find a random index between zero and one less than the number of spawn points.
    var spawnPointIndex : int = Random.Range (0, spawnPoints.Length);

    // Create an instance of the enemy prefab at the randomly selected spawn point's position and rotation.
    Instantiate (enemy, spawnPoints[spawnPointIndex].position, spawnPoints[spawnPointIndex].rotation);
}
var playerHealth=100;//参考球员的比赛记录。
var敌人:游戏对象;//要繁殖的敌人预制场。
var spawnTime:float=3f;//每次产卵间隔多长时间。
变量spawnPoints:Transform[];//这个敌人可以从一系列繁殖点中繁殖。
函数启动()
{
//延迟一段时间后调用Spawn函数,然后在相同的时间后继续调用。
调用重复(“繁殖”、繁殖时间、繁殖时间);
}
函数Spawn()
{
//如果玩家没有剩余生命值。。。

如果(playerHealth您可以使用这种计数器:

int maxEnemies = 100;
int enemiyCounter = 0;
并在
Spawn()中添加:

if(enemiyCounter < maxEnemies){
    Instantiate (enemy, spawnPoints[spawnPointIndex].position, spawnPoints[spawnPointIndex].rotation);
    enemyCounter++;
}

您可以使用这种计数器:

int maxEnemies = 100;
int enemiyCounter = 0;
并在
Spawn()中添加:

if(enemiyCounter < maxEnemies){
    Instantiate (enemy, spawnPoints[spawnPointIndex].position, spawnPoints[spawnPointIndex].rotation);
    enemyCounter++;
}

@ukasz-motyczka给出的答案对于一次性产卵来说是很好的,但是如果你想要一个连续的产卵(每次杀死一个敌人,它就会被替换),那么你需要动态地计算有多少敌人

Duck在这个问题上给出了一个很好的答案

如果您将他的代码与ukasz motyczka的代码相结合,那么您可以删除该变量,以跟踪您在动态计算敌人数量后产生的敌人数量。您将得到如下结果:

int maxEnemies = 100;
在Spawn()中

//要计算对象的数量:
var enemyCount:int=GameObject.FindGameObjectsWithTag(“敌人”).Length;
如果(EnemCount
对于一次性繁殖,@ukasz motyczka给出的答案非常好,但是如果你想要连续繁殖(每次杀死一个敌人,它就会被替换),那么你需要动态计算有多少敌人

Duck在这个问题上给出了一个很好的答案

如果您将他的代码与ukasz motyczka的代码相结合,那么您可以删除该变量,以跟踪您在动态计算敌人数量后产生的敌人数量。您将得到如下结果:

int maxEnemies = 100;
在Spawn()中

//要计算对象的数量:
var enemyCount:int=GameObject.FindGameObjectsWithTag(“敌人”).Length;
如果(EnemCount
当您想停止繁殖敌人时,使用
取消调用(“繁殖”);


如果您在使用
CancelInvoke()
invokeerepeating()

时使用
CancelInvoke(“繁殖”);
停止繁殖敌人,您应该知道
CancelInvoke()


如果您正在玩
invoke()
invokeerepeating(),您应该知道
CancelInvoke()

我需要设置一个限制。因此,在每个难度等级中,敌人会繁殖更多。你可以将MaxFriends的值更改为不同的值。你是否试图设置连续的敌人波?换句话说,在更多敌人繁殖之前,一个波中的敌人是否应该被完全摧毁?我需要设置一个限制。因此,在每个难度等级中,敌人将繁殖更多。您可以将MaxFriends的值更改为不同的值。您是否尝试设置连续的敌人波?换句话说,在更多敌人繁殖之前,是否应将一个波中的敌人完全摧毁?