1.2 触发器事件
知道了物体如何移动,下⼀步就得知道如何判断⼀个物体是否碰到了另⼀个物体,这也是绝⼤部分游戏都需要⽤到的功能。例如,在经典游戏PONG中,球碰到边界和挡板会反弹;《超级⻢⾥奥兄弟》中的⻢⾥奥碰到蘑菇就会变⼤。
实际上,抛开⾼级游戏引擎提供的各种技术,直接判断物体之间的距离就⾜以实现碰撞检测,即两个物体之间的距离⼩于某个值,就是碰到了。早期的游戏就是这么做的,即便在今天,对某些需要特别优化的功能也可以⽤这种⽅法。
不过Unity等现代游戏引擎给出了更统⼀、更简便的⽅法——使⽤触发器。
触发器是⼀个组件,它定义了⼀个范围。当其他带有碰撞体组件的物体进⼊了这个范围时,就会产⽣⼀个触发事件,脚本捕捉到这个事件的时候,就可以做出相应的处理。
1.2.1 创建触发器
在之前的⼩球旁边创建⼀个⽴⽅体。创建的⽴⽅体已经⾃带碰撞体,即Box Collider,可以在Inspector窗⼝中看到,默认该碰撞体的范围就是⽴⽅体的范围,如图1-10所⽰。