产生无限量的预制件

时间:2018-07-24 12:41:26

标签: c# unity3d game-development runner

我一直在尝试通过创建一个简单的跑步游戏来学习Unity 3D。 游戏正在从资产商店中产生一条简单的道路。我已经决定在这条路上添加一些障碍,并从中进行预制,但是当我将该预制件添加到一个数组中时,Unity从中将预制件实例化并运行游戏,而没有实例化预制件。这是我的代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TileManager : MonoBehaviour
{

public GameObject[] amountOfPrefabs;
private Transform playerTransform;
private float spawnZ = 0.0f;
private float tileLength = 30.0f;
private int amnTileOnScreen = 7;
// Use this for initialization
void Start()
{
    playerTransform = GameObject.FindGameObjectWithTag("Player").transform;
    for (int i = 0; i < amnTileOnScreen; i++)
    {
        SpawnTile();
    }
}

// Update is called once per frame
void Update()
{
    if (playerTransform.position.z > (spawnZ - amnTileOnScreen * tileLength))
    {
        SpawnTile();
    }
}

private void SpawnTile(int prefabIndex = -1)
{
    GameObject go;
    go = Instantiate(amountOfPrefabs[0]) as GameObject;
    go.transform.SetParent(transform);
    go.transform.position = Vector3.forward * spawnZ;
    spawnZ += tileLength;
}
}

请帮帮我。

1 个答案:

答案 0 :(得分:0)

Unity3D似乎出了点问题,因为当我使用相同的脚本创建相同的GameObject时,它便开始工作