1. 程式人生 > >消滅星星(四)碰撞檢測

消滅星星(四)碰撞檢測

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來說是加分,對於星星來說是將自身清除,避免記憶體一直增加。