2015-06-28 25 views
2

我已經開始學習Unity並決定做一些練習。所以,我認爲開發「Flappy Bird」作爲一個實驗是很棒的。但是我遇到了這個問題。你知道,當你在管道之間飛行時,你會贏得一分。爲了做到這一點,我做了一個預製,在它們之間用兩個管道和一個空的遊戲對象(觸發器)來檢測與它的碰撞。但是當我調用OnCollisionEnter2D方法時,它會檢測與預製件的碰撞,而不是與其中的觸發器或管道碰撞。你可以幫幫我嗎?我如何檢測與預製件的孩子碰撞?如何檢測與預製件的孩子的碰撞

回答

1

如果您的碰撞器被標記爲觸發器,則應使用OnTriggerEnter2D()。

2

像什麼烏里波波夫回答,請OnTriggerEnter2D()有你需要做幾點:
1.將OnTriggerEnter2D()腳本你的空遊戲對象,並且不要忘記附加collider2D你的空目的。
2.確保isTrigger在collider2D選項打勾
3.還請確保您的播放器有標籤,就可以使標籤你自己,在這個例子中我給「玩家」的標籤,以我的玩家的遊戲對象
4.示例腳本(我累了它,並努力)

public class YourTriggerScript: MonoBehaviour { 
void Start() { 

} 

// Update is called once per frame 
void Update() { 


} 

void OnTriggerEnter2D(Collider2D collider) 
{ 
    if (collider.GetComponent<Collider2D>().tag == "Player") 
    { 
     Debug.Log ("Collided"); 
     // do something or you can + your point here 
    } 
} 
} 

希望它可以幫助你