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