タイトルの通りになりますが、OncollisionStay2D内でInput.GetkeyDownを使用しようとしたところ、反応するときとしない時(連打して数回反応するくらい)があるため、また、FixedUpdate内でInputを使うとまずいというのはよく聞きますが、OnCollisionStay2Dに関してはそのような情報がなく、ネットでの情報も乏しかったため、質問させていただきました。一応、pcおよびアプリケーションの再起動、スペルミスの確認、Inputを先にbool型の変数に格納してから代入といった手段は試しました。
ちなみに、キー入力でTransform.Positionを操作できるオブジェクトと、できないオブジェクトとの接触時におけるもので、下記のコードは操作できないオブジェクトのほうに書き込まれています。使用しているColliderはともにBoxCollider2Dになっています。
//ダメだったパターン1 public bool enter void Update() { enter = Input.GetKeyDown(KeyCode.Return); } void OnCollisionStay2D(Collision2D col) { if (enter) { Debug.Log("やったね!"); } } //ダメだったパターン2 void OnCollisionStay2D(Collision2D col) { if (Input.GetkeyDown(Keycode.Return)) { Debug.Log("やったね!"); } }
質問ばかりで申し訳ありませんが、どなたかわかる方がいれば、よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー