wrote a code for playing animations, the first sequence works well (idle), but the second sequence (run) when it loops, the animation stops for a few milliseconds, and if I change the time between frames, the delay will change too
function module.animate(image, sizeX, sizeY, posX, posY, framesNum, columnNum, animtime, loop)
    local proportions = display.newImage(image)
    local width = proportions.width
    local height = proportions.height
    local widthadd = width / framesNum
    local heightadd = height / columnNum
    proportions:removeSelf()
    options = {
        frames = {},
        width = widthadd,
        height = heightadd,
        numFrames = framesNum * columnNum,
        sheetContentWidth = width,
        sheetContentHeight = height
    }
    local sequences = {}
    for i1 = 0, columnNum - 1 do
        for i2 = widthadd, width, widthadd do
            options.frames[i2 / widthadd + framesNum * i1] = {}
            options.frames[i2 / widthadd + framesNum * i1].x = i2 / widthadd * (widthadd / 2)
            options.frames[i2 / widthadd + framesNum * i1].y = height / 2 + (i1 * height)
        end
        local sequenceData = {
            name = "seq" .. tostring(i1),
            sheet = imgsheet,
            start = framesNum * i1 + 1,
            count = framesNum * i1 + framesNum,
            time = animtime,
            loopCount = loop and 0 or 1,
        }
        table.insert(sequences, sequenceData)
    end
    local imgsheet = graphics.newImageSheet(image, options)
    local sprite = display.newSprite(imgsheet, sequences)
    sprite.x = posX
    sprite.y = posY
    sprite.xScale = sizeX
    sprite.yScale = sizeY
    return sprite
end
