diff --git a/Assets/FlashTools/Scripts/FTRuntime/SwfClipController.cs b/Assets/FlashTools/Scripts/FTRuntime/SwfClipController.cs index dcb43e1..4ee1251 100644 --- a/Assets/FlashTools/Scripts/FTRuntime/SwfClipController.cs +++ b/Assets/FlashTools/Scripts/FTRuntime/SwfClipController.cs @@ -309,18 +309,23 @@ namespace FTRuntime { // --------------------------------------------------------------------- internal void Internal_Update(float scaled_dt, float unscaled_dt) { - if ( isPlaying ) { - _tickTimer += useUnscaledDt ? unscaled_dt : scaled_dt; - do { - var frame_rate = clip ? clip.frameRate * rateScale : 0.0f; - var frame_time = frame_rate > 0.0f ? 1.0f / frame_rate : 0.0f; - if ( frame_time > 0.0f && frame_time <= _tickTimer ) { - _tickTimer -= frame_time; + while ( isPlaying && clip ) { + var dt = useUnscaledDt ? unscaled_dt : scaled_dt; + var frame_rate = clip.frameRate * rateScale; + if ( dt > 0.0f && frame_rate > 0.0f ) { + _tickTimer += frame_rate * dt; + if ( _tickTimer >= 1.0f ) { + var unused_dt = (_tickTimer - 1.0f) / frame_rate; + _tickTimer = 0.0f; TimerTick(); + scaled_dt = unused_dt * (scaled_dt / dt); + unscaled_dt = unused_dt * (unscaled_dt / dt); } else { break; } - } while ( isPlaying ); + } else { + break; + } } } diff --git a/ProjectStuff/FlashTools.org b/ProjectStuff/FlashTools.org index 6cb5239..6930780 100644 --- a/ProjectStuff/FlashTools.org +++ b/ProjectStuff/FlashTools.org @@ -84,7 +84,7 @@ dipyalov: фишка в том, что swf обновился, но и собр **** DONE Unity может переставлять сабмеши на одинаковой глубине (проблема с масками) https://fogbugz.unity3d.com/default.asp?910858_0diqjnj67814hj3i http://ru.esotericsoftware.com/forum/Submeshes-render-in-random-order-with-orthographic-camera-8528 -**** TODO При автоплее с пустым клипом контроллер накапливает _tickTimer +**** DONE При автоплее с пустым клипом контроллер накапливает _tickTimer **** DONE Шейпы в классических твинах (да, это ошибка, но флеш её пропускает) не растеризуются **** TODO При множественном импорте ошибка в импорте по поводу удаление из-под носа ассета воспроизводится 100% **** TODO Некорректно кончающиеся твинны плохо дружат с оптимизацией и растеризацией