Instantiate函数我就不说了,主要是设置生成的prefab的位置、缩放、父对象、旋转等参数。
三个脚本都有这个碰撞功能,就是当碰撞发生时isCollision变为true材质材料,然后在其他脚本中检测到isCollision,如果发生碰撞unity 实例化预制物体,调试。
public class Prefabs : MonoBehaviour {
private gameManager manager;
// Use this for initialization
void Start () {
manager = gameManager.instance;
}
// Update is called once per frame
void Update () {
}
void OnCollisionEnter(Collision collision)
{
manager.isCollision = true;
}
}
public class gameManager : MonoBehaviour {
public static gameManager instance;
public bool isCollision = false;
void Awake()
{
instance = this;
}
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (isCollision) {
Debug.Log("和预制体碰撞");
}
}
}
这样写,不会输出Debug语句,因为你碰了一个prefab参数变成了trueunity 实例化预制物体,而另外两个还是false。
最好的办法是脚本变为真时添加;