Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 抛后产卵_C#_Unity3d - Fatal编程技术网

C# 抛后产卵

C# 抛后产卵,c#,unity3d,C#,Unity3d,我正在做一个足球比赛项目。我想要一个球体,我必须在抛出第一个球体后生成另一个球体。以下是我尝试过的: public class spawn : MonoBehaviour { public Transform[] SpawnPoints; public float SpawnTime; public GameObject ball; // Use this for initialization void Start () { Invoke

我正在做一个足球比赛项目。我想要一个球体,我必须在抛出第一个球体后生成另一个球体。以下是我尝试过的:

public class spawn : MonoBehaviour {
    public Transform[] SpawnPoints;
    public float SpawnTime;
    public GameObject ball;

    // Use this for initialization
    void Start () {
        InvokeRepeating ("SpawnBalls", SpawnTime, SpawnTime);
    }

    void SpawnBalls(){
        if (transform.position.z > -0.904 ) {
            int SpawnIndex = Random.Range (0, SpawnPoints.Length);
            Instantiate (ball, SpawnPoints [SpawnIndex].position, SpawnPoints [SpawnIndex].rotation);
        }
    }
} 

如果最后抛出的球足够远,只需实例化一个新球。试试这个:

public class spawn : MonoBehaviour {
    public Transform[] SpawnPoints;
    public GameObject ball;
    public GameObject lastBall;

    // Use this for initialization
    void Start () {
        int SpawnIndex = Random.Range (0, SpawnPoints.Length);
        lastBall = Instantiate (ball, SpawnPoints [SpawnIndex].position, SpawnPoints [SpawnIndex].rotation) as GameObject;
    }

    void Update(){
        if (lastBall.position.z > -0.904 ) {
            int SpawnIndex = Random.Range (0, SpawnPoints.Length);
            lastBall = Instantiate (ball, SpawnPoints [SpawnIndex].position, SpawnPoints [SpawnIndex].rotation) as GameObject;
        }
    }
} 

这里有什么问题?什么不起作用?。。。你的问题是…?它在工作,但不是我想要的方式。我只想在我抛出第一个球体后球体变成spwan,但我的代码在一段时间后监视球体。我想在我抛出第一个对象后我的对象变成spwanair@amyThank你,但我得到一个错误,它说“显式转换存在(你是否缺少转换?)@alterego Replace
lastBall=实例化(球,繁殖点[SpawnIndex]。位置,繁殖点[SpawnIndex]。旋转)
lastBall=实例化(球,繁殖点[SpawnIndex]。位置,繁殖点[SpawnIndex]。旋转)作为游戏对象
@alterego程序员建议的编辑是否解决了您的问题?只是在我点击play后一次重新绘制了太多对象。在第14行,是否最佳实践/更有效地将
作为GameObject
执行,或者在行的开头使用
(GameObject)
将其转换为GameObject?这可能会解决@alterego“存在显式转换”的问题