1

我正在尝试为我创建的对象添加一个属性。在这里我创建了鸟类展示对象,但我想为这些鸟类添加一个像 typeOfBird 这样的特殊属性,然后我想达到那些像 bird.typeOfBird 这样的属性。我怎样才能做到这一点?

 module(...,package.seeall)

  function new(params)
  local bird=display.newImage(params.img,params.x,params.y)

  function bird:touch(event)
local t = event.target
local phase = event.phase

if "began" == phase then
    -- Make target the top-most object
    local parent = t.parent
    parent:insert( t )
    display.getCurrentStage():setFocus( t )

    t.isFocus = true
elseif t.isFocus then
    if "moved" == phase then
        t.x = event.x
        t.y = event.y 
    elseif "ended" == phase or "cancelled" == phase then
        display.getCurrentStage():setFocus( nil )
        t.isFocus = false
    end
   end

 return true
  end
4

1 回答 1

2

看起来鸟对象已经是简单的 lua 表,因此您可以正常获取和设置值。因此,例如,您可以添加如下行:

if self.typeOfBird == "gull" then ... end

self.typeOfBird = "parrot"

到你的bird:touch功能。

或者

bird.typeOfBird = "gull"

在你的new功能中。

于 2012-07-03T07:01:56.020 回答