[英]OnTriggerEnter not working at Unity3D
我正在嘗試檢測一個籃球比賽中有球進入時丟了圈。 我在環上使用以下腳本
public class Anotar : MonoBehaviour {
private ControlJuego control;
void Start(){
GameObject gameControllerObject = GameObject.FindWithTag ("ControlJuego");
if (gameControllerObject != null)
{
control = gameControllerObject.GetComponent <ControlJuego>();
}
if (control == null)
{
Debug.Log ("Cannot find 'GameController' script");
}
}
void OnTriggerEnter (Collision col)
{
control.puntuar (2);
}
void OnCollisionEnter (Collision col)
{
//control.puntuar (3);
}
}
該環具有一個設置為對撞機的盒對撞機,以檢測OnTriggerEnter方法。 它還具有一個網格對撞機,可檢測到何時球碰到它會拋出OnCollisionEnter。 我的問題是OnTriggerEnter無法正常工作(內部使用了斷點,並且不會停止)。 實際上,OnCollisionEnter可以正常工作。 我的球有一個球體碰撞器,都使用剛體。 任何想法?
您應該將運動剛體添加到籃球中。 靜態觸發器可以檢測到剛體,但是即使觸發器具有剛體,也不能檢測到移動的碰撞體。
void OnTriggerEnter (Collision col)
{
control.puntuar (2);
}
這永遠都行不通。 OnTriggerEnter需要碰撞器而不是碰撞。 嘗試這個:
void OnTriggerEnter (Collider col)
{
control.puntuar (2);
}
我遇到了同樣的問題,我試圖用箭射擊敵人,但一開始並未調用箭頭OnTriggerEnter(Collider collider),而是啟用了在敵人中觸發(我試圖調用該方法的身體)上),這終於解決了我的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.