cocos2dx之lua派生类和方法重新

记得把extern.lua拷贝到你的资源目录,这里要用到

require "extern"



MyLayer = class("MyLayer",

    function(fileName)

        return CCSprite:create(fileName) 

    end

)



function MyLayer.CreateWithFile(fileName)

    local o = MyLayer.new(fileName)

    o.m_nA = 0

    return o

end



function MyLayer:setVisible(flag)

    getmetatable(self).setVisible(self,flag)

    self.m_nA = self.m_nA + 5

end



local a = MyLayer.CreateWithFile("dog.png")

print(a.m_nA)





local b = MyLayer.CreateWithFile("dog.png")

b:setVisible(true)

print(b.m_nA)

 

顺道记一下lua里有变长参数的函数用法

function Add(...)

    local t = {...}

    for i,v ipairs(t) do

        print(i,v)

    end

end

 

你可能感兴趣的:(cocos2dx)