- A+
上次有四个函数没有执行,它们分别是OnTriggerEnter(),OnCollisionEnter(),OnMouseDown(),OnDisable()。
今天,我先创建一个新的场景,添加一个Cube,一个Sphere,一个平行光
然后在Cube和Sphere的属性栏Inspector中可以看到Collider组件,如图
随后我为这两个物体分别加上脚本CubeCollider,QiuCollider
代码如下↓
球体的:
正方体的:
然后,运行一把!
分别点击一下球体和正方体,发现
MouseDown事件可以触发了
然后,在场景视图中,移动它们撞在一起
发现没有反应,好吧,碰撞体中其中一个要加刚体组件
加上刚体组件,再运行一把
移动,撞在一起,结果
取消运行,发现
OnDisable()也触发了,就差OnTriggerEnter()了
我把球体和正方体其中一个的IsTrigger选项勾选了
再次运行,撞在一次,结果
两个执行的都是OnTriggerEnter(),没有执行OnCollisionEnter()
经实验证明,只要碰撞双方中其中一方或双方勾选了isTrigger选项,双方都只会触发OnTriggerEnter()事件,而不会触发OnCollisionEnter事件。