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;
}
}