加载动画时删除先前的图像。

我用自定义动画做了一个滚动骰子。点击此处查看视频

现在你可以看到,在骰子动画开始时,先前的图像保留在背景中,在动画结束后替换它。我想在动画开始时从背景中删除图像。有谁知道我该怎么办吗?

我的主事件代码在这里

local function listener( event )
if event.phase == "began" then
    audio.play( diceSound )
    dice = display.newImage("images/dice3droll.png")
    physics.addBody(dice, {bounce = 2.8})
    physics.addBody(grass, "static", {bounce = 0.6})
    dice.x = display.contentWidth/2
    dice.y = display.contentHeight/2
    dice.isFocus = true
    dice:scale(2,2)
    display.getCurrentStage():setFocus( dice )
    Runtime:addEventListener( "enterFrame", rotateDice )
    local function timerE(ev)
        rand=math.random(6)
        dice:removeSelf()
        dice.isFocus = false
        dice = display.newImage( "images/dice"..rand..".png" )
        dice.x = display.contentWidth/2
        dice.y = display.contentHeight/2
        Runtime:removeEventListener( "enterFrame", rotateDice )
    end

    timer.performWithDelay( 2000, timerE, 1 )

end
return true
end
点赞
用户825481
用户825481

你没有发布原始的图像代码,但我假设它被称为 dice。当你开始事件时,调用 display.removeSelf(dice)。我建议将动画重命名为除 dice 以外的其他名称,因为它可能会混淆代码中的变量,因为它们是 global 而不是 local

2013-12-12 21:46:55