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 に答える