【3Dゲームエンジン】Unity質問スレッド28 [無断転載禁止]©2ch.netat GAMEDEV【3Dゲームエンジン】Unity質問スレッド28 [無断転載禁止]©2ch.net - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト313:名前は開発中のものです。 17/01/14 20:45:06.95 FQNy+lA5.net >>312 if文は間違ってないけど実装する関数が間違ってる OnTriggerEnter()は衝突が発生した最初のフレームでしか呼び出されない "衝突判定がある状態"で毎フレーム呼ばれるのは OnTriggerStay() 314:名前は開発中のものです。 17/01/14 20:46:47.03 BTT4g8y5.net >>312 ontriggerenterが呼ばれた時点でEキーを押下してないからじゃない? やりたいことはEキーが押下されてる時に衝突してるか?でしょ? 315:名前は開発中のものです。 17/01/14 20:50:25.80 4OPyI+cV.net >>313 ありがとうございます動きました! でもなんだかEを連打しないといけない事になってしまいました >>314 そういう解釈になるのですね・・・難しい 316:名前は開発中のものです。 17/01/14 21:01:35.18 E7N00EvS.net >>312 input.getkeydownってのはキーを押した瞬間trueを返すから、そのコードだと一瞬しか表示されないんじゃないかな そしてやりたいのは押している間じゃなくて押したら表示するってことだよね だから解決策としては、 void OnTriggerEnter(Collider other) { if (Input.GetKeyDown(KeyCode.E)&&other.tag == "Player") GameObject.Find("hanasi").GetComponent<Canvas>().enabled = true; } ってやって、 離れた時に void OnTriggerExit(Collider other) { GameObject.Find("hanasi").GetComponent<Canvas>().enabled =false; } ってすればいいんじゃないかな 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch