Corona SDK - 滤镜

我试图对一个对象应用滤镜,然后在一段时间后将其删除,我做的是这样的:

local function _filter(n)
local function reset_filter(n)
 _zombieTable[n].fill.effect = ""
end
 _zombieTable[n].fill.effect = "filter.crystallize"
 transition.to( _zombieTable[n].fill.effect , {time = 200,numTiles = 100} )
 timer.performWithDelay( 300, reset_filter(n),1 )
end

问题在于,如果我在之后删除它,它只会应用滤镜,这一点我不明白,因为我在300毫秒后删除它,所以它应该应用并消失。我也试过使用transition.to的"onComplete"属性,但效果相同。

点赞
用户4561178
用户4561178

这一行代码有问题: timer.performWithDelay( 300, reset_filter(n),1 )

reset_filter(n) 立即被调用,而不是经过 300 毫秒之后!

正确的写法应该是: timer.performWithDelay(300, function() reset_filter(n) end, 1)

2018-12-06 13:30:47