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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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 尝试调用nil值_Lua_Gideros - Fatal编程技术网

Lua 尝试调用nil值

Lua 尝试调用nil值,lua,gideros,Lua,Gideros,它给出了一个错误,上面写着“试图调用全局youlose(一个零值),我哪里做错了?请注意,collizeswith与collizeswith不同;如果您发布的错误是正确的,那么您发布的代码与您正在使用的代码不同。可能该方法实际上被称为collizeswith(如果它是sprite1中的方法,则似乎是这样),但您使用了collizeswith。或者,如果发布的代码是您所使用的,那么错误可能是尝试调用CollizeSwith(一个nil值),因此cute.anim[1]不是sprite1对象,但它也

它给出了一个错误,上面写着“试图调用全局youlose(一个零值),我哪里做错了?

请注意,
collizeswith
collizeswith
不同;如果您发布的错误是正确的,那么您发布的代码与您正在使用的代码不同。可能该方法实际上被称为
collizeswith
(如果它是
sprite1
中的方法,则似乎是这样),但您使用了
collizeswith
。或者,如果发布的代码是您所使用的,那么错误可能是
尝试调用CollizeSwith(一个nil值)
,因此
cute.anim[1]
不是
sprite1
对象,但它也不是nil,否则错误将不同

一旦您解决了这个问题,您会注意到
youLoose
是在
for
循环之后定义的,当您调用
youLoose()
时,它还没有定义。您必须将
本地函数youLoose()
函数移动到循环之前。因为循环本身不在函数中,而是在模块级,所以它在任何后续代码之前执行,所以在循环中使用的任何函数(本地或全局)都必须在循环之前定义


请注意,“松散”与“丢失”的含义不同。检查以查看差异。可能在你有“loose”这个词的任何地方,你都应该改为“lose”。

这意味着
可爱。anim[1]
没有
碰撞方法。这是什么游戏引擎,gideros?无论如何,您应该为库添加一个标记。@Scholli:是的,它的gideros.collizeswith错误已经修复,现在我被youLoose()困住了,我只是无法理解这个错误,而且不仅仅是youLoose(),我可能会尝试从“IF”语句中调用什么函数,它给出了与尝试调用全局函数(nil值)相同的错误,即使我使用了这些函数local@Simrankaur更新,我打赌这会解决你的问题。
for i = 1, groupA:getNumChildren() do
    local sprite = groupA:getChildAt(i) 
    if cute.anim[1]:collidesWith(sprite) then
        youLoose()
    end
end

local function youLoose()
    local font3 = TTFont.new("billo.ttf", 20, " 1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ,?")
    local text7 = TextField.new(font2, "gameover")
    text7:setPosition(200, 100)
    stage:addChild(text7)
    GameLost = Bitmap.new(Texture.new("gameover.jpg"))
    Background : removeFromParent()
    groupA : removeFromParent()
    stage: addChild(GameLost)
    alert()
end