//Kay
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
//改了名字记得重新指定一下,小心报红
public class InstantiateAndDestroyObject : MonoBehaviour
{
/// <summary>
/// 要生成的对象
/// 被生成的对象的是要生成的对象
/// 被删除的对象的是被生成的对象
/// </summary>
public GameObject Fabobject;//原本
private GameObject FabFZ; //复制
//XYZ坐标
public float X;
public float Y;
public float Z;
//销毁时间
public float time;
//点击生成的按钮
public Button Instantiate_Button;
// Start is called before the first frame update
void Start()
{
//初始生成按钮的button组件显示为true;
Instantiate_Button.GetComponent<Button>().enabled = true;
}
//Create(onClick到生成按钮上)
public void Click_Button_Instantiate()
{
//生成 ( 要生成的对象 , 对象的位置坐标 , 对象的方向 );
//Quaternion.identity则代表了「保留被生成的GameObject自带的方向
FabFZ = Instantiate(
Fabobject,
new Vector3(X, Y, Z),
Quaternion.identity);
//生成按钮的button组件在点击生成后,显示为false(不能再次点击,防止重复点击生成);
Instantiate_Button.GetComponent<Button>().enabled = false;
}
//Destroy(onClick到销毁按钮上)
public void Click_Button_Destroy()
{
//生成按钮的button组件在 点击取消 后,显示为 true (可以再次点击,防止重复点击生成);
Instantiate_Button.GetComponent<Button>().enabled = true;
//销毁 (要销毁的对象,执行延迟的时间 )
Destroy(
FabFZ,
time);
}
// Update is called once per frame
//void Update()
//{
//}
}
关键就是FabFZ = Instantiate( Fabobject,new Vector3(X, Y, Z), Quaternion.identity);这一句,明白了就觉得简单了