[ОТВЕТ] проверка при прыжке находиться ли в воздухе

ESTIMOS_

Активный участник
Регистрация
20 Ноя 2023
Сообщения
11
Доброго дня!

Я хочу объяснить распространённое заблуждение: многие полагают, что условие "Если игрок стоит на блоке ()" не работает для блока воздуха. Причина в том, что условие проверяет, находится ли игрок на воздухе в момент прыжка, и из-за этого проверяет блок опоры. Чтобы условие проверяло, находится ли игрок в воздухе, нужно использовать команду "Ждать()".

Теперь перейдём к интересному: как узнать время, за которое игрок совершает прыжок.

Время прыжка игрока в Minecraft​

В Minecraft игрок прыгает на высоту 1.25 блока. Чтобы определить время, за которое игрок достигает самой высокой точки прыжка, используем физику движения. Гравитация Minecraft действует с ускорением 0.08 блока за тик. Время подъёма до максимальной высоты рассчитывается по формуле:

t=v/g

где:
  • v — начальная скорость прыжка (0.42 блока за тик),
  • g — ускорение свободного падения (0.08 блока за тик).
Подставляя значения, получаем:

𝑡=0.42/0.08=5.25 тиков

Таким образом, Стив достигнет самой высокой точки прыжка примерно через 5.25 тиков.

Время достижения высоты ровно одного блока​

Для расчёта времени достижения высоты в один блок используем уравнение движения:

ℎ=𝑣⋅𝑡−1/2⋅𝑔⋅𝑡²‬

где:

  • h — высота (1 блок),
  • v — начальная скорость (0.42 блока за тик),
  • g — ускорение свободного падения (0.08 блока за тик).
Подставляя значения, решаем уравнение:

1=0.42⋅𝑡−1/2⋅0.08⋅𝑡²‬

0.04𝑡²‬−0.42𝑡+1=0

Решая квадратное уравнение, находим:

𝑡=(0.42±√(0.42²‬−4⋅0.04⋅1))/(2⋅0.04)

𝑡=(0.42±√(0.1764−0.16))/0.08

𝑡≈6.1 тиков (положительный корень)

𝑡≈3.7 тиков (отрицательный корень)

Таким образом, игрок достигнет высоты ровно одного блока примерно через 3.7 тика после начала прыжка.
 

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
352
Доброго дня!

Я хочу объяснить распространённое заблуждение: многие полагают, что условие "Если игрок стоит на блоке ()" не работает для блока воздуха. Причина в том, что условие проверяет, находится ли игрок на воздухе в момент прыжка, и из-за этого проверяет блок опоры. Чтобы условие проверяло, находится ли игрок в воздухе, нужно использовать команду "Ждать()".

Теперь перейдём к интересному: как узнать время, за которое игрок совершает прыжок.

Время прыжка игрока в Minecraft​

В Minecraft игрок прыгает на высоту 1.25 блока. Чтобы определить время, за которое игрок достигает самой высокой точки прыжка, используем физику движения. Гравитация Minecraft действует с ускорением 0.08 блока за тик. Время подъёма до максимальной высоты рассчитывается по формуле:

t=v/g

где:
  • v — начальная скорость прыжка (0.42 блока за тик),
  • g — ускорение свободного падения (0.08 блока за тик).
Подставляя значения, получаем:

𝑡=0.42/0.08=5.25 тиков

Таким образом, Стив достигнет самой высокой точки прыжка примерно через 5.25 тиков.

Время достижения высоты ровно одного блока​

Для расчёта времени достижения высоты в один блок используем уравнение движения:

ℎ=𝑣⋅𝑡−1/2⋅𝑔⋅𝑡²‬

где:

  • h — высота (1 блок),
  • v — начальная скорость (0.42 блока за тик),
  • g — ускорение свободного падения (0.08 блока за тик).
Подставляя значения, решаем уравнение:

1=0.42⋅𝑡−1/2⋅0.08⋅𝑡²‬

0.04𝑡²‬−0.42𝑡+1=0

Решая квадратное уравнение, находим:

𝑡=(0.42±√(0.42²‬−4⋅0.04⋅1))/(2⋅0.04)

𝑡=(0.42±√(0.1764−0.16))/0.08

𝑡≈6.1 тиков (положительный корень)

𝑡≈3.7 тиков (отрицательный корень)

Таким образом, игрок достигнет высоты ровно одного блока примерно через 3.7 тика после начала прыжка.
жалко, что создать задержку можно только на 3 или на 4 тика, мл просто обрежет дробные значения
 
Сверху