我即将完成游戏,但我遇到了一个错误:
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
答案 0 :(得分:0)
显然self.x是一个零值。如果你在某处删除它然后同时调用监听器,那么就不会有任何self.x值。
您应该发布更改/创建自我对象的每一行。还有听众