在游戏开发中,写新手引导时架构了一个新手引导管理类,其中运用了lua多重继承,使用了单例模式进行开发,关于新手引导的开发可移步cocos2dx lua 专栏查看
function search(classes,key)
print("~~~~~~~~~~~~~~~~~")
for i = 1, #classes,1 do
if classes[i][key] then
return classes[i][key]
end
end
end
function createClass(...)
local parents = {...}
local child = {}
setmetatable(child,{__index = function(table,key)
return search(parents,key)
end})
function child:new()
local o = {}
setmetatable(o,child)
child.__index = child
return o
end
return child
end
-- function GuideMgr:new()
-- local o = {}
-- setmetatable(o,self)
-- self.__index = self
-- return o
-- end
function GuideMgr:getInstance()
if not self.instance then
self.instance = createClass(GuideNet,GuideMgr):new()
self.instance:ctor()
end
return self.instance
end