美文网首页
Unity碰撞器的问题

Unity碰撞器的问题

作者: padamono | 来源:发表于2018-01-27 21:19 被阅读0次

2d游戏,两个角色,一个玩家一个敌人,都加了刚体,然后新建了两个子物体(子物体标签与父物体不同),分别加了collider,其中一个collider是角色的生命体碰撞检测,不带trigger,另一个collider是警界区域,比角色的collider大,带trigger。

这里面有四种判断情况:

1. 玩家的警界区碰到了敌人的生命体,发现敌人;

2.敌人的警界区碰到了玩家的生命体,发现角色;

3.玩家的生命体和敌人的生命体碰撞,角色死亡;

4.玩家的警界区和敌人的警界区碰撞,不发生任何事情。

第1种,脚本挂在玩家的警界collider的子物体上,分别用OnTriggerEnter2D,OnTriggerEnter2D判断是否碰到敌人的生命体collider,用tag判断;

第2种,脚本挂在玩家的生命体collider的子物体上,分别用OnTriggerEnter2D,OnTriggerEnter2D判断是否碰到了敌人的警界区collider,用tag判断;

第3种,这是困扰了我半天的地方,两个生命体是没有trigger的,所以要用OnCollisionEnter2D判断。我单独写的死亡脚本挂在玩家的生命体collider和子物体上,但是这里无法用tag判断,因为两个生命体collider都是各自的子物体,而碰撞检测是检测有刚体的物体也就是其父物体,用coll.collider.tag判断或者coll.collider.name判断都是父物体,后来查到应该是用coll.collider.tag判断,就可以找到子物体的collider了,问题解决。

第4种情况忽略。

相关文章

网友评论

      本文标题:Unity碰撞器的问题

      本文链接:https://www.haomeiwen.com/subject/ugjoaxtx.html