如何在Lua中为对象添加属性?

时间:2012-07-03 06:46:05

标签: object lua

我正在尝试将attirubute添加到我创建的对象中。在这里我创建了鸟类显示对象,但我想将这些鸟类添加为类似于typeOfBird的特定类型,然后我想要达到像bird.typeOfBird那样的attiributes。我怎么能这样做?

 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

1 个答案:

答案 0 :(得分:2)

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

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

self.typeOfBird = "parrot"

到您的bird:touch功能。

bird.typeOfBird = "gull"

new函数中。