【发布时间】:2016-04-22 10:00:21
【问题描述】:
我的应用经常会抛出以下错误:
gamePlay.lua:121: 尝试将 nil 与数字进行比较
该函数将一个对象从屏幕右侧移动到左侧。当它离开屏幕 50 像素时,对象应该被移除。这是我的方法代码:
function moveObject(self,event)
if (self.x)<-50 then --this is line 121
--remove object
Runtime:removeEventListener("enterFrame", event.self)
display.remove(event.target)
else
self.x = self.x-self.speed --move object left at value speed
end
end
调用此方法时弹出错误并进入重新启动屏幕:
--------当球击中另一个物体时,重新开始场景------------
local function onCollision( self,event )
if(event.object2.name == "bonus")then--if we hit a bonus ball
event.object2:removeSelf()
--set score
local currentScore =game.returnScore()
game.setScore(currentScore*2)
scoreText.text = game.returnScore()
Runtime:removeEventListener("enterFrame", event.object2)
else
composer.gotoScene("restart")
Runtime:removeEventListener("touch", onObjectTouch)
end
end
ball.collision = onCollision
Runtime:addEventListener( "collision", ball )
任何想法可能会发生什么?很少发生错误,可能 15 次中有 1 次发生。
【问题讨论】:
-
是的,我理解错误,但我想知道如何修复它。谢谢
标签: android ios lua sdk coronasdk