cocos2dx + lua 中实现 lua的MVC

创建两个类,,CGMainSceneManager是单例,,用于MC,CGMainScene 用于V。实现方式类似c++的类

local CGMainScene = class("CGMainScene",function() return ZnBaseScene:create()end)function CGMainScene.create() local scene = CGMainScene.new() scene:init() scene:registerScriptHandler(function(event) if "enter" == event then scene:enter() elseif "exit" == event then scene:exit() end end) return sceneendfunction CGMainScene:ctor() self._visibleSize = cc.Director:getInstance():getVisibleSize() self.origin = cc.Director:getInstance():getVisibleOrigin() self.schedulerID = nilendfunction CGMainScene:init() CGMainManager:instance():init() CGMainManager:instance():createBgScrollView() self:addChild(CGMainManager:instance()._scrollView) CGMainManager:instance():addCheckPoint(CGMainManager:instance()._bgTableName) local pointTable = {} pointTable["level"] = 6 pointTable["state"] = 2 pointTable["starnum"] = 2 CGMainManager:instance():setStarandState(pointTable) local buttonnode = cc.CSLoader:createNode("ButtonLayer.csb") buttonnode:setPosition(VisibleRect.worldSpace(cc.p(self._visibleSize.width / 2 , self._visibleSize.height))) self:addChild(buttonnode,CGMainManager:instance()._panelZorder.kButtonZorder) local function ButtonTouchEvent(sender,eventType) if eventType == ccui.TouchEventType.began then elseif eventType == ccui.TouchEventType.ended then if sender:getTag() == 1 then print("———–shopButton—-============") elseif sender:getTag() ==2 then print("———–RoleButton—-============") elseif sender:getTag() == 3 then print("———–incubatorButton—-============") elseif sender:getTag() == 4 then print("———–lotteryButton—-============") elseif sender:getTag() == 5 then print("———–signButton—-============") elseif sender:getTag() == 6 then print("———–TaskButton—-============") elseif sender:getTag() == 7 then print("———–BagButton—-============") elseif sender:getTag() == 8 then print("———–button8—-============") elseif sender:getTag() == 9 then print("———–button9—-============") elseif sender:getTag() == 10 then print("———–button10—-============") end end end local children = buttonnode:getChildren() local len = table.getn(children) for i=1,len do children[i]:addTouchEventListener(ButtonTouchEvent) end — CGMainManager:instance():setOffset() –关于体力,金币,银币图 CGMainManager:instance():setPanelEvent() local function IconTouchEvent(sender,eventType) if eventType == ccui.TouchEventType.began then elseif eventType == ccui.TouchEventType.ended then if sender:getTag() == 1 then print("icon energy button is touch ") elseif sender:getTag() == 2 then print("icon silver button is touch") elseif sender:getTag() == 3 then print("icon golden button is touch") end end end CGMainManager:instance()._energyIcon:addTouchEventListener(IconTouchEvent) CGMainManager:instance()._goldenIcon:addTouchEventListener(IconTouchEvent) CGMainManager:instance()._silverIcon:addTouchEventListener(IconTouchEvent) CGMainManager:instance()._panelinfo:setPosition(VisibleRect.worldSpace(cc.p(self._visibleSize.width * 0.15 , 0.1 * self._visibleSize.height))) self:addChild(CGMainManager:instance()._panelinfo,CGMainManager:instance()._panelZorder.kPanelZorder) CGMainManager:instance():setPanelInfo()–CGMainManager:instance():playEffect()endfunction CGMainScene:enter() –print("CGMainScene:enter")endfunction CGMainScene:exit() –print("CGMainScene:exit")end

return CGMainScene

冬天已经到来,春天还会远吗?

cocos2dx + lua 中实现 lua的MVC

相关文章:

你感兴趣的文章:

标签云: