Я делаю шутер в Ursina, и, очевидно, мне нужно сделать кнопку перезагрузки, все работает, за исключением одного, я использую time.sleep, поэтому, когда я перезагружаю, вся игра на некоторое время зависает. Есть ли способ сделать функцию ожидания без остановки всей игры?
@Carcigenicate верен. Укажите, какую библиотеку игр вы используете, чтобы мы могли вам лучше помочь.
В игровой библиотеке (Ursina) есть только режим сна и некоторые функции дельта-времени. Вы знаете интерпретатор, который может помочь?
Урок 0 разработки графического интерфейса: никогда не блокируйте основной поток
Почему вы вообще используете time.sleep()
? Зачем тебе ждать?
Если вы не хотите зависать, что должно произойти во время ожидания?
@Barmar я использую time.sleep (), потому что это единственная функция ожидания, с которой я знаком, плюс учебники, которые я вижу, все используют time.sleep ()
Но зачем вам функция ожидания? Чего ты ждешь?
Invoke
и Wait
/ Sequence
, похоже, как эта библиотека обрабатывает отложенные действия в потоке событий.
@Barmar Я бы не хотел, чтобы что-то случилось, я пытаюсь сделать так, чтобы при перезарядке вам пришлось подождать пару секунд, прежде чем у вас будут полные боеприпасы.
Итак, если вам нужно подождать несколько секунд, почему бы ему не остановиться на эти секунды?
@Barmar что-то происходит, вы не можете двигаться, прыгать или что-либо делать при перезагрузке
@Barmar большое спасибо! Надеюсь, у вас все сегодня хорошо.
Библиотека игр, которую вы используете, предоставит какой-то способ сделать это; это специфично для библиотеки. Скорее всего, он будет называться
Timer
или что-то подобное.