Lua 碰撞:“;“死亡”;动画
我有一个Corona SDK项目,尝试为敌人播放死亡动画:Lua 碰撞:“;“死亡”;动画,lua,coronasdk,collision-detection,Lua,Coronasdk,Collision Detection,我有一个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
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
正常的站立
动画播放得很好
我错过了什么?冲突正在发生,
gameOver
正在被调用,但是explode
动画没有播放。此代码仅将第一个表分配给EneySprite
:
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
(未显示)的代码以使用新表。Lua不能为单个变量分配多个值。EneySprite将只获取第一个值(以stand作为名称的表)。也许你想分配一个值表?@rpattiso哇,你说得对。我缺少一个{}
。请随便回答!
local enemySprite = {
{ name="stand", start=1, count=31, time = 1000, loopCount = 0 },
{ name="explode", start=32, count=25, time=800, loopCount=1 }
}