试图将nil与数字Corona进行比较

时间:2013-07-12 23:01:04

标签: android sdk lua corona null

我即将完成游戏,但我遇到了一个错误:

attempt to compare nil with number game2.lua 444

我对如何解决这个问题一无所知,而且我已经尝试了很多东西,没有成功。我认为函数scrollSpace正在导致这种情况,因为有时背景会以无法控制的速度滚动。这是我的代码:

function scrollSpace(self,event)
    if self.x  < -900 then
        self.x = 800
    else 
        self.x = self.x - self.speed
    end 
end

这可以控制内容在屏幕上滚动的方式。如果你们有更多的代码,只需回复,我将很乐意添加所请求的来源。最后一件事:有谁知道以下错误意味着什么:

attempt to compare nil with number

这是我的文件代码:

  coin01 = display.newImage("coin02.png")
  coin01.y = 100
  coin01.x = 500
  coin01.speed = math.random(2,6)
  coin01.initY = mine1.y
  coin01.amp   = math.random(20,100)
  coin01.angle = math.random(1,360) 

 physics.addBody(coin01, "static", {density=.1,bounce=0.1, friction=.2,radius=12})
 screenGroup:insert(coin01)
 end  -- end of create scene
**print "passed"

 function scrollSpace(self,event)
 if self.x  < -900 then
  self.x = 800
else 
self.x = self.x - self.speed
 end 
    end**
function scene:enterScene(event)

coin01.enterFrame = coins
Runtime:addEventListener ("enterFrame",coin01)  
  end 
  function scene:exitScene(event)
 ***storyboard . purgeScene ("start")
 story board . purgeScene ("restart")***
  Runtime:removeEventListener ("enterFrame",coin01)

  end

   function scene:destroyScene(event)

end

scene:addEventListener("createScene",scene)
scene:addEventListener("enterScene",scene) 
scene:addEventListener("exitScene",scene) 
scene:addEventListener("destroyScene",scene) 

return scene

1 个答案:

答案 0 :(得分:0)

显然self.x是一个零值。如果你在某处删除它然后同时调用监听器,那么就不会有任何self.x值。

您应该发布更改/创建自我对象的每一行。还有听众