【求助】实在没辙了麻烦大神帮我看看为什么不能销毁克隆物体!
unity3d吧
全部回复
仅看楼主
level 5
天鹅僵梦 楼主
function Start(){
obp=GameObject.FindWithTag("bp");
}
function OnGUI(){
GUI.Window(0,Rect(20,100,200,160),WindowContain,"");//创建一个对话框
}
function WindowContain(windowID:int){
if(GUI.Button(Rect(55,80,50,20),"确认")){
var nbp:GameObject =Instantiate(obp,Vector3(11.75,9.7,10),Quaternion.identity);//生成克隆物体
}
if(GUI.Button(Rect(115,80,50,20),"清空")){//设置清除按钮
Destroy(nbp);//这句有问题吗?为什么删除不了产生出来的克隆物体T T
}
}
原物体是obp,克隆出的物体是nbp
测试过了可以生成克隆物体,可是没法删除!
求大神指教~~
2015年12月10日 13点12分 1
level 6
有报错么?
2015年12月10日 14点12分 2
报错内容是 Object reference not set to an instance of an object
2015年12月10日 14点12分
level 6
我js的看不大懂,个人觉得有2个问题,1销毁里的参数nbp不是全局参数,不能识别,2,你的脚本是挂在哪里的?
2015年12月10日 14点12分 3
我挂在……摄像机上……_(:зゝ∠)_ 不能挂在摄像机上吗
2015年12月10日 14点12分
nbp不是全局参数就是说它只在if()下面那个{}内可以被识别?那怎么样让它变成全局参数呢?
2015年12月10日 14点12分
level 13
#pragma strict
var obp:GameObject; /*把要实例化的预制体、 在组件面板拖给他*/
function Start(){
}
function OnGUI(){
GUI.Window(0,Rect(20,100,200,160),WindowContain,"");//创建一个对话框
}
function WindowContain(windowID:int){
if(GUI.Button(Rect(55,80,50,20),"确认")){
var nbp:GameObject =Instantiate(obp,Vector3(11.75,9.7,10),Quaternion.identity);//生成克隆物体
obp.name="ZhengFangTi";//添加在实例化后面的名字。
}
if(GUI.Button(Rect(115,80,50,20),"清空")){//设置清除按钮
//Destroy(nbp);//这句有问题吗?为什么删除不了产生出来的克隆物体T T
Destroy(GameObject.Find("ZhengFangTi(Clone)"));/*Find(这个值等于 给实例化物体取的名字+(Clone) 实例化物体名字自+(Clone) );*/
}
}
2015年12月10日 14点12分 4
谢谢~ 我试一下
2015年12月10日 14点12分
成功删除啦~谢谢~~ Destroy(GameObject.Find("ZhengFangTi(Clone)"));//这句是关键~
2015年12月10日 14点12分
@天鹅僵梦 还在吗,这个也是治标不治本呀,怎么才能自动增加string bg(Clone)的(Clone)?
2023年07月06日 19点07分
level 5
天鹅僵梦 楼主
已解决 谢谢楼上各位~~
2015年12月10日 14点12分 5
我试了,怎么不行?
2016年04月27日 10点04分
@通窍且深远丶松柏O Destroy(GameObject.Find("ZhengFangTi")); //这样就行了
2018年04月21日 13点04分
@独孤钱痴 还在吗,这个也是治标不治本呀,怎么才能自动增加string bg(Clone)的(Clone)?
2023年07月06日 19点07分
1