消滅星星(四)碰撞檢測
阿新 • • 發佈:2019-01-25
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來說是加分,對於星星來說是將自身清除,避免記憶體一直增加。