Unity 2D 发送 X 数量的 "troops" 等于我用光线投射或其他东西放入特定目标的数量

Unity 2D send out X amount of "troops" that are equal to the number I put in to a specific target with raycast or something

我正在尝试创建一个简短的 2D 游戏,您可以在其中等待 x 时间来获得例如 50 个“部队”。这现在工作正常,但现在我需要一个脚本来检测我拥有的部队数量(在起点)并将它们发送出去,就像从起点到终点的小点一样,但不是一个接一个更像 5连续 * 10.

部队每秒用一个浮点数向上计数,所以我们可以使用它还是我需要其他东西?

TroopSpawner.cs

using UnityEngine;

public class TroopSpawner : MonoBehaviour
{
    public GameObject troopPrefab;
    public int troopCountPerSpawn = 5;
    public float timeBetweenSpawnsInSeconds = 10;

    private float _lastSpawnTime;

    private void Update()
    {
        if (Time.time - _lastSpawnTime >= timeBetweenSpawnsInSeconds)
        {
            _lastSpawnTime = Time.time;
            for (var i = 0; i < troopCountPerSpawn; i++)
            {
                Instantiate(troopPrefab);
            }
        }
    }
}

使用检查员将一个部队预制件放入“部队预制件”插槽即可。

TroopUnit.cs

using UnityEngine;

public class TroopUnit : MonoBehaviour
{
    public Vector3 direction;
    public float speed;

    private void Update()
    {
        transform.Translate(direction * speed * Time.deltaTime);
    }
}

把这个脚本放到你的部队预制件上。然后它会移动。在检查器中调整方向和速度以查看不同的结果。