diff --git a/packages/av-cliper/src/sprite/base-sprite.ts b/packages/av-cliper/src/sprite/base-sprite.ts index 68936f48..251678ab 100644 --- a/packages/av-cliper/src/sprite/base-sprite.ts +++ b/packages/av-cliper/src/sprite/base-sprite.ts @@ -212,11 +212,12 @@ export function linearTimeFn( opts: Required, ): Partial { const offsetTime = time - opts.delay; - if (offsetTime / opts.duration >= opts.iterCount) return {}; - const t = offsetTime % opts.duration; + const process = + offsetTime / opts.duration >= opts.iterCount || offsetTime === opts.duration + ? 1 + : t / opts.duration; - const process = offsetTime === opts.duration ? 1 : t / opts.duration; const idx = kf.findIndex((it) => it[0] >= process); if (idx === -1) return {};