实例化预制件?

时间:2017-07-18 16:32:15

标签: c# unity3d 3d

我正在制作一个带有4个预制"大块"我想在玩家接触到名为的对手时创建。我的代码随机化了当玩家点击它时加载了哪个块然后产生下一个块。但由于某种原因,它不能识别我的预制件,我想在最后一个之前加载块25的z值。代码:

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



public class ChunkLoader : MonoBehaviour {
int level = 0;
public Transform chickenpos;
// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {

}
void spawnChunk()
{
    float chunkload = Random.Range(0, 2);
    Debug.Log(chunkload);
    if (level <= 10)
    {
        if(chunkload <= 1 )
        {

         Instantiate  (ChunkA1, chickenpos);

        }
    } 

}
void OnTriggerEnter(Collider other)
{
    if (other.tag == "Loader")
    {
        level = level++;
        Debug.Log(level);
        spawnChunk();
    }
}
}

1 个答案:

答案 0 :(得分:1)

首先需要为预制件声明一个变量 - 我会假设它在这里是Gameobject类型。

int level = 0;
public Transform chickenpos;
public Gameobject ChunkA1; //declare variable for the prefab

// Use this for initialization
void Start () {}

然后,您可以将Assets文件夹中的预制件拖动到检查器中的字段,或使用Resources.Load()通过脚本找到它。