碰撞:“死亡”动画

我有一个 Corona SDK 项目,试图为敌人播放死亡动画:

elseif name1 == "enemy" or name2 == "enemy" then
    if name1 == "enemy" then
        if player.y < event.object1.y-(event.object1.height*0.5) then
            display.remove(event.object1); event.object1 = nil
            changeText(10)
        else
            print( "trigger animation" )
            event.object1:setSequence("explode") --Not working
            event.object1:play()
            gameOver()
        end
    else

所以在 else 中,它应该触发动画更改,但什么也没发生。 调试中的 print 是确实发生了。

精灵表看起来像:

local enemySheet = graphics.newImageSheet("images/enemies.png", sheetInfoEnemy:getSheet() )
local enemySprite =
{ name="stand", start=1, count=31, time = 1000, loopCount = 0 },
{ name="explode", start=32, count=25, time=800, loopCount=1 }

而普通的 stand 动画运行正常。

我错过了什么? 碰撞正在发生,正在调用 gameOver,但 explode 动画不播放。

点赞
用户2726734
用户2726734

这段代码只将第一个表格分配给 enemySprite 变量:

local enemySprite =
   { name="stand", start=1, count=31, time = 1000, loopCount = 0 },
   { name="explode", start=32, count=25, time=800, loopCount=1 }

Lua会评估两个表格,但是第二个表格在分配中被默默丢弃了。为了解决这个问题,将两个表格存储在另一个表格中:

local enemySprite = {
   { name="stand", start=1, count=31, time = 1000, loopCount = 0 },
   { name="explode", start=32, count=25, time=800, loopCount=1 }
}

你可能需要调整使用 enemySprite 的代码(这段代码没有显示)以使用新的表格。

2015-09-15 00:26:15