C#/ Unity实例化多个GameObject并将其position.x +1

时间:2018-12-02 09:55:01

标签: c# unity3d

我有一个代码可以随机产生数量的硬币,但是问题在于它们彼此之间都可以产生。

我想要的是拥有一排硬币,而不仅仅是其中产生了3枚硬币。

我试图获取生成的当前对象的当前x位置,并为其x线添加+1,以便下一个对象生成x线的+1。

embedding_network

我认为Parent的转换中一定有将其更改回0的东西吗?

硬币也在x坐标中移动:

        private void SpawnCoin()
{
    coinSpawn = Random.Range(1, 5);

    for (int i = 0; i < coinSpawn; i++)
    {
        spawnCoin = Instantiate(coin) as GameObject;
        spawnCoin.transform.SetParent(transform);
        float currentPos = spawnCoin.transform.position.x;
        //spawnCoin.transform.Translate(currentPos+1f, -0.1f, -1f);
    }

}

编辑:我知道 // Use this for initialization void Start () { transform.Translate(0f, -0.1f, -1f); } // Update is called once per frame void Update () { transform.Translate(0f - Time.deltaTime * BackgroundScroll.speed, 0f, 0f); } 会改变当前生成的硬币转换,这就是为什么我评论了它,但是我想更改即将到来的硬币。

1 个答案:

答案 0 :(得分:1)

尝试:

private void SpawnCoin()
{
     coinSpawn = Random.Range(1, 5);
     float x = 1.0f;
     for (int i = 0; i < coinSpawn; i++)
     {
         spawnCoin = Instantiate(coin) as GameObject;
         spawnCoin.transform.SetParent(transform);
         float currentPos = spawnCoin.transform.position.x;
         spawnCoin.transform.Translate(currentPos+x, -0.1f, -1f);
         x+=1.0f;
     }

}