我正在制作一个带有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();
}
}
}
答案 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()
通过脚本找到它。