Size: a a a

2020 March 22

AG

Alexey Gordiychuk in unity3d.ru
А если я в промежуток времени между ними отпущу кнопку то нет. (В стандартном юнити инпуте может и да, потому что от точно от апдейта зависит)
источник

AS

Anton Smetanin in unity3d.ru
public class Test : MonoBehaviour
{
   void Update()
   {
       Debug.Log($"Update at {Time.realtimeSinceStartup}");
       System.Threading.Thread.Sleep(2000);
   }

   void FixedUpdate()
   {
       Debug.Log($"FixedUpdate at {Time.realtimeSinceStartup}, space pressed: {Input.GetKeyDown(KeyCode.Space)}");
   }
}
источник

AS

Anton Smetanin in unity3d.ru
Вот, можешь проверить
источник

AG

Alexey Gordiychuk in unity3d.ru
Anton Smetanin
Вот, можешь проверить
Ну да, в стандартном инпуте так и будет. А может можно свой сделать
источник

AS

Anton Smetanin in unity3d.ru
Alexey Gordiychuk
Ну да, в стандартном инпуте так и будет. А может можно свой сделать
Можно, конечно, но это ничего не изменит же)
источник

AS

Anton Smetanin in unity3d.ru
источник

AS

Anton Smetanin in unity3d.ru
Обрати внимание на время
источник

AS

Anton Smetanin in unity3d.ru
Когда эти FixedUpdate реально вызываются
источник

AS

Anton Smetanin in unity3d.ru
Даже если ты в отдельном потоке будешь собирать ввод
источник

AS

Anton Smetanin in unity3d.ru
Они в случае зависаний будут вот так вызываться подряд, практически в одно и то же время
источник

AS

Anton Smetanin in unity3d.ru
Ты физически не успеешь новые клавиши нажать между ними
источник

AG

Alexey Gordiychuk in unity3d.ru
Anton Smetanin
Можно, конечно, но это ничего не изменит же)
Если не использовать UnityEngine.Input, почему не изменит? Какой нибудь чисто на C# способ
источник

AS

Anton Smetanin in unity3d.ru
Alexey Gordiychuk
Если не использовать UnityEngine.Input, почему не изменит? Какой нибудь чисто на C# способ
Ну я выше объяснил почему)
источник

AG

Alexey Gordiychuk in unity3d.ru
оу, а как так-то? почему они одновременно)
источник

AS

Anton Smetanin in unity3d.ru
Потому что так устроен FixedUpdate
источник

AG

Alexey Gordiychuk in unity3d.ru
Anton Smetanin
Потому что так устроен FixedUpdate
Он же должен через равные промежутки времени вызываться
источник

AS

Anton Smetanin in unity3d.ru
Он живёт в виртуальном времени
источник

AG

Alexey Gordiychuk in unity3d.ru
на то он и фиксед
источник

AS

Anton Smetanin in unity3d.ru
То есть, если ты выведешь Time.time, тебе будет казаться, что он через равные промежутки вызывается
источник

AS

Anton Smetanin in unity3d.ru
Потому что юнити туда подставляет ненастоящее время
источник