【发布时间】:2015-12-09 21:51:47
【问题描述】:
我有一个 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 动画。
【问题讨论】:
-
Lua 不能将多个值分配给单个变量。 enemySprite 只会获取第一个值(以 stand 为名称的表)。也许您的意思是分配一个值表?
-
@rpattiso 哇,你是对的。我错过了
{ }。随意回答!
标签: lua coronasdk collision-detection