2017-03-06 15 views
1

トリガーが検出されたときにUIテキストを追加するにはどうすればよいですか? プレイヤーがトリガーに入っているかどうかを検出するためにこのコードを持っていますが、プレイヤーがトリガーに出入りすると「地図上」/「地図オフ」のキャンバスにメッセージが表示されます。ありがとう!トリガーが検出されたときのUIテキストの追加

public class MapDetect : MonoBehaviour { 

private bool isTriggered; 

void OnTriggerEnter(Collider other) 
{ 
    if (other.gameObject.CompareTag("Player")) 
     isTriggered = true; 
} 

void OnTriggerExit(Collider other) 
{ 
    if (other.gameObject.CompareTag("Player")) 
     isTriggered = false; 
} 

void Update(){ 
    if(Input.GetKey(KeyCode.Space)){ 
     Debug.Log(isTriggered); 
    } 
} 
} 

のUPDATE CODE:

using System.Collections; 
using System.Collections.Generic; 
using UnityEngine; 
using UnityEngine.UI; 

public class DetectarMapa : MonoBehaviour { 

public GameObject T1; 
public GameObject T2; 

public float time = 3; 

void Start() 
{ 
    T1.SetActive (true); 
    StartCoroutine(Message1()); 
} 

void OnTriggerEnter(Collider other) 
{ 
    if (other.gameObject.CompareTag("Player")) 
     T2.SetActive (true); 
     StartCoroutine(Message2()); 
} 

void OnTriggerExit(Collider other) 
{ 
    if (other.gameObject.CompareTag("Player")) 
     T1.SetActive (true); 
     StartCoroutine(Message1()); 
} 

IEnumerator Message1() 
{ 
    yield return new WaitForSeconds(time); 
    T1.SetActive (false); 
} 

IEnumerator Message2() 
{ 
    yield return new WaitForSeconds(time); 
    T2.SetActive (false); 
} 
} 
+1

あなたも試していませんでした。クリックボタン[パート](http://stackoverflow.com/q/42632196/3785314)を実装できませんでしたか?尋ねると答えが得られるだけでなく、何か試したことを示すことは良いことです。それ以外の場合は、人々が最初から最後まであなたのゲームスクリプトを書くことを望んでいる。 – Programmer

+0

申し訳ありません今、私はクリックボタンの部分を実装する時間がありません。試してみると、ここに書きます。 – Angelsm

答えて

1

単にあなたのTextコンポーネントへの参照を追加し、必要なときにtextプロパティを設定します。

public class MapDetect : MonoBehaviour { 

    public Text Text; 

    void Start() 
    { 
     Text.text = "Map out"; 
    } 

    void OnTriggerEnter(Collider other) 
    { 
     if (other.gameObject.CompareTag("Player")) 
      Text.text = "Map on"; 
    } 

    void OnTriggerExit(Collider other) 
    { 
     if (other.gameObject.CompareTag("Player")) 
      Text.text = "Map out"; 
    } 
} 

次にユニティに単純に参照を追加Textコンポーネント

+0

プレイヤーがトリガーに入ると、テキストが表示されますが、出ていないときは表示されません。 – Angelsm

+0

プレイヤーがトリガーを入力または終了したときにメッセージが表示されますが、トリガーから始める場合は表示されません。どうすれば解決できますか? – Angelsm

+0

@Angelsm私はあなたの問題を理解していません。 'OnTriggerExit'メソッドが呼び出されないことを意味しますか? –

関連する問題