Big List of Defold Pro Tips!

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)

9 Likes