如何使用main.lua中另一个类的函数?

时间:2012-07-01 09:51:37

标签: class lua corona

我正在尝试在main.lua中使用另一个类的函数。我根据我的研究编写了一些代码,但它没有正常工作。你能帮我吗?感谢。

fish.lua代码:

function class()
  local cls = {}
  cls.__index = cls
  return setmetatable(cls, {__call = function (c, ...)
      instance = setmetatable({}, cls)
      if cls.__init then
          cls.__init(instance, ...)
      end
      return instance
  end})
end


 Fish= class()

 function Fish:listen(event)
  if phase =="began" then
          print("hi")
  end
 end

function Fish:__init(image)
    self.image=display.newImage(image,30,30)
    self.image: addEventListener("touch",self.listen)
end

main.lua代码:

  require  "fish"

  originalImage="fish.small.red.png"
  differentImage="fish.small.blue.png"

  local fishImage=Fish(originalImage)

显示图像但触摸时不起作用(打印“hi”)。

1 个答案:

答案 0 :(得分:2)

有几个问题:

function Fish:listen(event)更改为function Fish.listen(event)

if phase =="began" then应为if event.phase =="began" then