string - Generate frames for graphics.newImageSheet animation -
i try build function generates frames list graphics.newimagesheet. function print seemingly correct list "1,2,3,4,5.." graphics.newimagesheet reject following error:
warning: sequence (fastrun) has invalid index (0) falls outside rang e of valid image sheet frame indices: 1 <= index <= 9.
code:
function generateframes(num) numframes = num frames = 1 i=2, numframes, 1 frames = frames .. "," .. end end sheetdata = { width=32, height=40, numframes=9, sheetcontentwidth=96, sheetcontentheight=120 } mysheet = graphics.newimagesheet( "media/enemies/enemy-" .. type .. ".png", sheetdata) generateframes(9) print("frames: " .. frames) sequencedata = { { name = "fastrun", frames={ frames }, time=1000, loopcount = 0 } }
don't use string in frames = {...}
, use table.
function generateframes(num) local frametable = {} numframes = num frames = 1 i=2, numframes, 1 table.insert(frametable,i) end end sheetdata = { width=32, height=40, numframes=9, sheetcontentwidth=96, sheetcontentheight=120 } mysheet = graphics.newimagesheet( "media/enemies/enemy-" .. type .. ".png", sheetdata) generateframes(9) print("frames: " .. frames) sequencedata = { { name = "fastrun", frames=frames , time=1000, loopcount = 0 } }
Comments
Post a Comment