Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lua 碰撞:“;“死亡”;动画_Lua_Coronasdk_Collision Detection - Fatal编程技术网

Lua 碰撞:“;“死亡”;动画

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

我有一个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
正常的
站立
动画播放得很好


我错过了什么?冲突正在发生,
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 } 
}