-1
プレイヤーがスクリプトがアタッチされているオブジェクトを見て、そのボックスコリダートリガーと接触しているときに、画像を表示しようとしています。イメージは "interactImage"という名前のオブジェクトのコンポーネントであり、私はそれを "canvas"コンポーネントを無効/有効にすることでユーザーに表示しようと考えています。以下のスクリプトを見ることができます:オブジェクトを見るときに画像が表示されない
using UnityEngine;
using System.Collections;
public class interactText : MonoBehaviour
{
bool isLook;
bool isCollide;
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
if (isCollide == true && isLook == true)
{
GameObject.Find("interactImage").GetComponent<Canvas>().enabled = true;
}
}
void OnTriggerEnter(Collider collide)
{
isCollide = true;
}
void OnTriggerExit(Collider collide)
{
isCollide = false;
GameObject.Find("interactImage").GetComponent<Canvas>().enabled = false;
}
void OnBecameVisible()
{
isLook = true;
}
void OnBecameInvisible()
{
isLook = false;
GameObject.Find("interactImage").GetComponent<Canvas>().enabled = false;
}
}
このスクリプトは表示されません。プレーヤーがトリガしてオブジェクトを見ると、画像はカメラの視点に表示されません。どうしてか分かりません。何かご意見は?
isCollide == true&isLook == true'の '&'は '&&'でなければなりません。 – sowa
@sowa typo、私はこれを修正しました。スクリプトはまったく動作しません。 –
'OnTriggerX'と' OnBecame(In)Visible'が動いているのを確認しましたか? Debug.Logをすべてに入れて、コンソールを確認するようにしてください。 –