unity中从一个prefab生成的两个物体同时进入触发器,如何只获得一个?
unity中一个prefab模型生成的两个相同物体(克隆)同时进入一个触发器而我的触发器只想处理一个物体,怎么弄?两个物体都是直接克隆出来的...
unity中
一个prefab模型
生成的两个相同物体(克隆)同时进入一个触发器
而我的触发器只想处理一个物体,怎么弄?
两个物体都是直接克隆出来的 展开
一个prefab模型
生成的两个相同物体(克隆)同时进入一个触发器
而我的触发器只想处理一个物体,怎么弄?
两个物体都是直接克隆出来的 展开
2个回答
展开全部
首先要区分开这两个物体,用Instantiate克隆后,通过改名字,tag,或者加代码编号等方式,来区分每一个克隆物体,比如名字改为obj01,obj02...能区分后,当他们同时进入触发器时,在触发代码中计数number++;如果number+2就是同时进入,+1就是有先后,判断出同时进入后,只处理name=="obj01"的物体...当然你可以写的灵活一些,最好在代码中来编号区分克隆体.
这个方法你试一下吧,其实我也没试过...
不行的话告诉我原因,我再想想
这个方法你试一下吧,其实我也没试过...
不行的话告诉我原因,我再想想
展开全部
if (Input.GetButtonDown("Fire1"))
{
Ray ray = DrawHouse.instance.camera2D.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
位置1
//当不通过hit发送消息时,所有的碰撞体都会被触发
hit.collider.SendMessage("Click", 1, SendMessageOptions.DontRequireReceiver);
}
}
不知道是不是这个碰撞检测,位置1的触发就是所有都触发,但是经过hit.collder发送消息后就会映射到你点击的那个物体!
{
Ray ray = DrawHouse.instance.camera2D.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
位置1
//当不通过hit发送消息时,所有的碰撞体都会被触发
hit.collider.SendMessage("Click", 1, SendMessageOptions.DontRequireReceiver);
}
}
不知道是不是这个碰撞检测,位置1的触发就是所有都触发,但是经过hit.collder发送消息后就会映射到你点击的那个物体!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询