Pytanie: Funkcja update(currentTime:)
w SKScene
nazywana jest każdą ramką z argumentem currentTime
. Zastanawiam się, jak uzyskać czas z tego samego źródła update(currentTime:)
używa bez korzystania z funkcji update
. Znalazłem tylko CFAbsoluteTimeGetCurrent()
, który jest inny.Jak uzyskać w tym samym czasie funkcję aktualizacji (currentTime :)? (przed wywołaniem)
Powód: Aby obliczyć timeSinceLastUpdate
, potrzebna jest zmienna instancji o nazwie timeOfLastUpdate
. Aby zaimplementować timeOfLastUpdate
, musisz ustawić ją na dowolną wartość przed pierwszą aktualizacją, która powoduje, że pierwsze obliczenie timeSinceLastUpdate
jest nieprawidłowe. Możesz mieć proste instrukcje if, aby to wykryć lub użyć opcji opcjonalnych, ale jest to niepotrzebna gałąź, której można by uniknąć, jeśli ustawię tylko timeOfLastUpdate
w didMoveToView(view:)
. I właśnie to próbuję zrobić.
Zauważyłem, że 'currentTime' zwraca czas w sekundach, w którym urządzenie zostało uruchomione, co oznacza, że jest resetowany przy każdym ponownym uruchomieniu. Są sposoby, aby uzyskać tę wartość, ale dla tego, co robisz, odpowiedź Rickstera jest drogą do zrobienia. – mogelbuster