游戏中常常需要通过碰撞触发一些事件,比如:子弹打中敌人,敌人掉血,玩家碰到自动门,门打开等等
Unity提供了3种碰撞检测,分别是:
1.进入接触状态
OnCollisionEnter();
比如子弹接触到玩家时,就可以用这个来检测。
2.离开接触状态
OnCllisionExit();
在血腥的RPG游戏中有用到,比如:主角挥刀劈开怪物,当刀离开怪物身体时,播放飙血的粒子效果。
3.停留接触状态
OnCllisionStay();
也许很多人认为这个状态基本用不到,其实不然,打个比方,中毒效果就可以用这个来做,比较取巧。
检测毒镖在玩家体内停留的时间进行持续掉血等操作。中毒时间取决于你什么时候吧毒镖GameObject给Destroy掉。