UnityでGetKeyDownやGetKeyUpが何回も反応するということがおきていろいろ試してみると、FixedUpdate内では何回か反応することがわかりました。
void Update() { if (Input.GetKeyDown(KeyCode.Space)) { Debug.Log("Space"); //1回だけ } } void FixedUpdate() { if (Input.GetKeyDown(KeyCode.Space)) { Debug.Log("Space"); //2回か3回反応する } }
1フレームごとにdeltaTimeを表示すると、その時のフレーム間は0.04秒でその間に全てのFixedUpdate(0.02秒程度)のGetKeyDownが呼ばれていました
... 0.023 Space Space Space 0.044 0.021 ...
GetKeyDownはキー入力が入った最初の1フレームの間のみずっとtrueということで合っていますか?
また、もしそうならFixedUpdateの間に2フレーム以上あるような高性能(?)なものだと反応しなくなることもありますか?

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/02/22 03:38
2023/02/22 04:33