Mam określoną funkcję, którą wywołuję w funkcji aktualizacji. Przez pierwsze dziesięć sekund funkcja powinna zostać wywołana w funkcji aktualizacji, następnie powinna zostać wyłączona na kolejne dwie sekundy, a następnie ponownie włączyć ją na kolejne dziesięć sekund. Ten cykl powinien się powtarzać? Jak mogę to wykonać?
10
Repeat()
i%
(modułem)? Dokumentacja mówi „jest podobny do operatora modulo, ale działa z liczbami zmiennoprzecinkowymi” , ale moduł działa z liczbami zmiennoprzecinkowymi ...%
operator często działa dziwnie - albo nie działa z liczbami zmiennoprzecinkowymi, daje nieoczekiwane lub wręcz niepoprawne wyniki operacji modułu w znaczeniu matematycznym (odzwierciedlając charakter sprzętowy operacja na liczbach całkowitych).Repeat()
został wybrany jako bezpieczniejsza opcja, aby uniknąć konieczności sprawdzania dokładnej implementacji%
operatora w C # / mono.Nie testowałem następującego kodu, ale wpadniesz na pomysł:
źródło
deltaTime
jest stosunkowo krótkie. Jeśli delta jest dłuższa niżsleepDuration
to, to się nie powiedzie.Możesz to zrobić również z korupcją. Coś jak
źródło