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);
}
}
把这个脚本放到你的部队预制件上。然后它会移动。在检查器中调整方向和速度以查看不同的结果。
我正在尝试创建一个简短的 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);
}
}
把这个脚本放到你的部队预制件上。然后它会移动。在检查器中调整方向和速度以查看不同的结果。