2016-08-19 46 views
0

所以我正在做一個簡單的「拼圖」使用燈。簡單地說,它們上面有3個按鈕(紅色,藍色,綠色)。每個按鈕都有它自己的觸發器音量,但是當我去玩時,沒有任何打印出來,甚至可以輸入,保持或離開觸發器。我從來沒有使用過對撞變量,所以我覺得我做錯了什麼(顯然或者它會工作!)。但後來我只是在OnTriggerStay/Enter/Exit Method中做了「對撞機實體」,它仍然沒有打印到我的玩家進入的控制檯。爲什麼我的觸發器不工作?c#OnTriggerStay與碰撞變量

Click here for the code I'm trying Click here to see how I have it in the Unity Scene

回答

0

觸發器只有那些對他們剛體其他撞機迴應。

嘗試添加一個Ridgidbody組件到您的播放器並將其設置爲運動。

+0

我不允許混淆角色,因爲它是班級之間的共享模式(在學校中)。不過,我認爲這不是問題,因爲我所有級別的其他觸發器都可以工作。問題是,我有3個觸發器,每個人都需要獨立識別播放器,以便按下按鈕可關閉/打開正確的燈光。一旦動畫中只剩下藍色,將允許進展。 –

0

當對象具有碰撞組件並且BluePuzzle2沒有碰撞組件時,OnTriggerEnter/Stay/Exit工作。

另外OnTrigger函數獲取Collider作爲參數。檢查爲了使這項工作參考page

所以把劇本上的每個光以及該腳本複製此功能

void OnTriggerEnter(Collider col) { 
    if (col.CompareTag("Player")) { 
     print("Entered the trigger"); 
    } 
} 

希望它能幫助。

+0

種,我試圖避免這樣做,因爲這將需要多個腳本。有沒有辦法使用Collider變量? –

+0

您可以對所有3個燈使用相同的腳本。我不確定你是否可以使用對撞機變量來做到這一點,因爲我從來沒有這樣做,或看到別人這樣做。 – josehzz

+0

是啊,猜猜這不是一件事,不能讓它以這種方式工作或找到任何東西。我只是做了幾個單獨的腳本,一切正常,除了按鈕灌木音頻。出於某種原因,當我把它放在我的其他if語句下時,它會在玩家停留在觸發器中時播放,但這是另一天的另一個問題,只是很高興我的解謎奏效!感謝您的輸入! –