2016-08-19 6 views
0

私はライトを使って簡単な "パズル"を作っています。単に、3つのボタンが点灯しています(赤、青、緑)。各ボタンには独自のトリガー音量がありますが、再生すると何も表示されず、入力、滞在、またはトリガーから出ることもありません。私は以前にCollider Variablesを使ったことがないので、間違ったことをしているように感じます(明らかに、あるいはうまくいくでしょう!)。しかし、私はちょうどOnTriggerStay/Enter/Exitメソッドで "Collider entity"を実行しましたが、それでも私のプレーヤーが入力していたコンソールには印刷されませんでした。私のトリガーはなぜ機能しないのですか? c#Collider変数を使用した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

のようなものですが、これは複数のスクリプトを必要とするため、このようにするのを避けようとしていました。コライダー変数を使用する方法はありませんか? –

+0

3つのライトすべてに同じスクリプトを使用できます。私はあなたがそれをやったことがないか、他の誰かがそれをやったのを見たので、あなたがCollider Variablesでそれを行うことができるかどうかはわかりません。 – josehzz

+0

それは事ではないと思う、そのように働くか、それで何かを見つけることができなかった。私はちょうどいくつかの別々のスクリプトを作ることに行きました、ボタンブッシュのオーディオを除いて、すべてうまく動作します。何らかの理由で私がelse if文の下に置くと、プレイヤーがトリガーにとどまるたびに再生されますが、それは別の日の別の質問です。私のパズルがうまく動作します!入力いただきありがとうございます! –

関連する問題