我一直试图通过创建一个简单的亚军游戏来学习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 回答
似乎Unity3D出了问题,因为当我使用相同的脚本创建相同的GameObject时,它开始工作