0

我试图在我的 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”)。

4

1 回答 1

2

几个问题:

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

并且if phase =="began" then应该是if event.phase =="began" then

于 2012-07-01T10:53:21.990 回答