尝试索引全局'self'(零值)

时间:2013-11-28 05:38:29

标签: lua null

这是我游戏的一部分。虽然我不断收到这个错误。

function scene:createScene(event)

end

screenGroup = self.view

background = display.newImage("Space-Background-Image.gif")
screenGroup:insert(background)

local background1 = display.newImage("Space-Background-Image.gif")
background.x = 90
screenGroup:insert(background1)


function scrollBackground(self,event)
if self.x < -480 then   
    self.x = 480
else
    self.x = self.x - 3
end
end

2 个答案:

答案 0 :(得分:2)

在我看来,您错放了end方法中的结束createScene。尝试将下面的行移动到函数体中,以便使用隐式self而不是全局self键:

function scene:createScene(event)
  screenGroup = self.view

  background = display.newImage("Space-Background-Image.gif")
  screenGroup:insert(background)

  local background1 = display.newImage("Space-Background-Image.gif")
  background.x = 90
  screenGroup:insert(background1)
end

答案 1 :(得分:2)

有两种方法可以在lua中调用函数

1)用':'调用函数,给'm'作为第一个参数 m:DoJob()

2)但如果你打电话给'。'你必须定义查找函数的上下文,通常是模块本身 m.DoJob(m)

如果您使用module:Method()将模块中定义的方法调用为module.Method(),则它期望参数为self并抛出错误。