###前提・実現したいこと
フラグ(Door_flag)がtrueの時にCキーが押されたら
何かを実行したい
フラグはUnity上で、物体が重なったときにtrueになり
離れたらfalseになるように指定してあります。
###発生している問題・エラーメッセージ
フラグがtrueにならないようです。
イベント自体はおこっていて、その時のデバッグログは
ちゃんと表示されてるので、その瞬間はフラグもtrueに
なっていると思うのですが、それが保存されずに、
すぐにfalseにもどっているのか、Cキーを押したときには
条件が整わず、本来の処理が実行されません。
スコープの問題でしょうか・・・
エラーはでてません。常にフラグを表示すろt falseしかかえってこないのが問題です
###該当のソースコード
using UnityEngine;
using System.Collections;
public class Door_colider_flag : MonoBehaviour {
public bool Door_flag;
void Update () { if ((Door_flag) && (Input.GetKey("c"))){ Debug.Log("C キーが押された!!"); //本来の処理 } } // 衝突した瞬間に呼ばれる void OnTriggerEnter(Collider other) { Door_flag = true; Debug.Log("HIT!!"); } // 衝突から離れた瞬間に呼ばれる void OnTriggerExit(Collider other) { Door_flag = false; Debug.Log("NO HIT!!"); }
}
###試したこと Door_flagの値をつねに表示したところ、trueになってない ということがわかりました。 イベントでうけとったOnTriggerEnterでの変数の 代入がうまくいっていないのか、Update処理でのDoor_flag の値がうけとれていないのか。。 ###補足情報(言語/FW/ツール等のバージョンなど) より詳細な情報
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。