2016-01-19 78 views
0

我想爲我製作的遊戲製作一個評分系統;這是Flappy Bird的翻拍。Rigidbody2D通過箱子對撞機2D

我遇到的問題是,我建立了一個以rigidbody2d和box collider作爲分數的精靈;我試圖讓角色穿過那個精靈時,它會給樂譜增加一個,但是當角色試圖通過它時,它會被推回到屏幕的另一側。

這是因爲盒子對撞機當然,但我不知道沒有這種方法做任何其他方式。這裏是一個檢測代碼,如果字符打管或分數線:

void OnCollisionEnter2D (Collision2D hit) { 
    if(hit.transform.gameObject.name == "Pipe(Clone)") { 
     die(); 
     Debug.Log("hit"); 
    } 
    if (hit.transform.gameObject.name == "Score(Clone)") { 
     Debug.Log("Score"); 
    } 
} 

一切記錄完全正常不過的問題是,鳥剛faceplants到這是不是應該發生的分數線,請儘量幫助或建議我應該怎麼做。

P.S.我是一名新手程序員;我有點知道我在做什麼,但不擅長調試和修復它們,謝謝。

回答

1

您應該在編輯器中檢查Bird對象碰撞器上的「Is Trigger」。並使用:

void OnTriggerEnter2D(Collider2D col) { 
    if (col.transform.name == "Score") 
      Score++; 
} 

在鳥物體腳本中。

+0

謝謝;這工作。 – Duck