即使延迟,所有对象都会同时显示在屏幕上……我该怎么办?

我正在尝试动画化这个路径,但它似乎一次性全部显示出来,即使我设置了延迟或将其放入计时器中以间歇性地显示。我必须每秒使用帧速率来显示它吗?我错过了什么?

点赞
用户501459
用户501459

你没有在循环中增加延迟时间,所以你在 1 秒内安排了 所有 路径节点的出现。

记住,循环会几乎瞬间执行(计算机速度很快)。

试试这个:

如果路径存在 then
    compPath = display.newGroup();
    local revealInterval = 500
    local revealTimeout = 0
    for node, count in path:nodes() do
        timer.performWithDelay( revealTimeout, function (event)
            local tile = display.newRect((node:getX() * 50) - 25, (node:getY() * 50) - 25, 48, 48)
            colorCell(tile, 0, 0, 255)
            tile.alpha = 0
            transition.fadeIn( tile, { time=1500 } )
            compPath:insert(tile)
        end
        )

        revealTimeout = revealTimeout + revealInterval
    end

end
2015-08-13 16:52:05