Animator’s startTimeOffset is doubled in SDK 1.12.0

,

In the SDK update 1.12.0 the startTimeOffset for animators in Lua is doubled i.e. they take twice as long to start as before. Here’s a minimal example to reproduce the issue.

import "CoreLibs/graphics"
import "CoreLibs/sprites"

DURATION = 1000
a = playdate.graphics.animator.new(DURATION, 0, 360, playdate.easingFunctions.linear)
b = playdate.graphics.animator.new(DURATION, 0, 360, playdate.easingFunctions.linear, DURATION)
-- b = playdate.graphics.animator.new(DURATION, 0, 360, playdate.easingFunctions.linear, DURATION / 2)

function playdate.update()
	playdate.graphics.clear()
	playdate.graphics.setColor(playdate.graphics.kColorBlack)
	playdate.graphics.fillRect(a:currentValue(), 0, 40, 40)
	playdate.graphics.fillRect(b:currentValue(), 40, 40, 40)
end

The second square should start moving when the first square stops but it actually takes a while before it starts. If you halve the startTimeOffset (to 500) it starts at the same time.

1 Like

Sorry, my bad. :frowning: Here's a fixed version of CoreLibs/animator.lua, not sure if it'll be in the 1.12.1 update or the next after that:

animator.lua.zip (2.2 KB)

1 Like