У меня есть особая функция, которую я вызываю в функции обновления. В течение первых десяти секунд функция должна вызываться в функции обновления, затем она должна быть отключена на следующие две секунды, затем снова включить ее на следующие десять секунд. Этот цикл должен повторяться? Как я могу выполнить это?
10
Repeat()
и%
(модуль)? Документация гласит: «Это похоже на оператор по модулю, но оно работает с числами с плавающей запятой» , но модуль работает с числами с плавающей запятой ...%
оператор часто ведет себя странно - либо не работает с числами с плавающей запятой, либо дает неожиданные или совершенно неверные результаты для работы модуля в математическом смысле (отражая аппаратную природу операция над целыми числами).Repeat()
был выбран просто как более безопасный вариант, чтобы избежать необходимости искать точную реализацию%
оператора в C # / mono.Я не тестировал следующий код, но вы получите идею:
источник
deltaTime
оно относительно короткое. Если дельта длиннее, чемsleepDuration
это, это не удастся.Вы можете сделать это с сопрограммой также. Что-то вроде
источник