C# 为什么向前移动物体时,它们移动得非常慢?我怎样才能改变速度?

C# 为什么向前移动物体时,它们移动得非常慢?我怎样才能改变速度?,c#,unity3d,C#,Unity3d,在更新功能中: UpdateSpheres创建对象,然后移动它们,但移动速度非常慢 private void Update() { UpdateSpheres(); MoveShips(); } private void MoveShips() { var spheres = GameObject.FindGameObjectsWithTag("MySphere"); foreach (Transform child in spheres[0].transfor

在更新功能中:
UpdateSpheres
创建对象,然后移动它们,但移动速度非常慢

private void Update()
{
    UpdateSpheres();
    MoveShips();
}

private void MoveShips()
{
    var spheres = GameObject.FindGameObjectsWithTag("MySphere");
    foreach (Transform child in spheres[0].transform) 
    {
        child.transform.position += Vector3.forward * Time.deltaTime;
    }
}

在每一帧中调用
FindGameObjectsWithTag
非常慢。在
Start
函数中调用该函数一次。同时添加一个公共速度变量,您可以使用该变量更改速度。您可以在编辑器中修改此速度变量,直到获得所需的速度。确保查看脚本的其余部分,并确保未使用
GameObject.Find
FindGameObjectsWithTag
Update
函数中的类似函数

GameObject[] spheres;
public float moveSpeed = 50;

void Start()
{
    spheres = GameObject.FindGameObjectsWithTag("MySphere");
}

private void Update()
{
    UpdateSpheres();
    MoveShips();
}

private void MoveShips()
{
    foreach (Transform child in spheres[0].transform)
    {
        child.transform.position += Vector3.forward * Time.deltaTime * moveSpeed;
    }
}