u3d提供了physic组件来进行碰撞检测的触发,通过绑定的script脚本来进行碰撞检测的回调。我们需要给星星以及主角都加上碰撞检测的组件。
选中player对象,添加组件中选择 physic>Rigidobdy以及Box Colider这两个组件添加进来
参考下图对2个组件进行设置,注意一定要Trigger
再选中星星重复上面的操作
在player.cs中添加如下代码
void OnTriggerEnter(Collider other){
if (other.tag.CompareTo ("star") == 0) {
this.spwanStar ();
this.setScore (int.Parse(this._txt.text) + 10);
}
}
public void setScore(int Score){
this._txt.text = Score.ToString ();
}
在star.cs中添加如下代码
void OnTriggerEnter(Collider other){
if (other.tag.CompareTo ("Player") == 0) {
Destroy (this.gameObject);
}
}
以上就是碰撞以后各自的处理,对于player来说是加分,对于星星来说是将自身清除,避免内存一直增加。