When working with sprite cursor animations it can be useful to know what frame is showing by range in normalized cursor values.
Code:
local function frames_to_cursor_range(total_frames)
local frame = 1 ; local max = total_frames ; local min = 0.0
for i = frame, max, 1 do
local range_min = ((frame - 1) - min) / (max - min) + 0.001
local range_max = (frame - min) / (max - min)
if i == 1 then
range_min = 0.000
end
print("Frame_"..i.." Range( start:"..string.format("%.3f",range_min).." , end:"..string.format("%.3f",range_max),")")
frame = frame + 1
end
end
Usage:
12 total frames of sprite animation would print.
frames_to_cursor_range(12)