|
- --
- -- Author: songge
- -- Date: 2016-03-29 14:05:47
- -- 整个layer的基类,所有的layer都需要继承这个类。
-
- local BaseLayer = EapClass("BaseLayer", function ()
- return cc.Layer:create() -- 继承layer
- end)
-
- function BaseLayer:ctor(...)
- self:enableNodeEvents()
- self:onShow(...)
- end
-
- function BaseLayer:onShow(...)
- print("baselayer is inited")
- self:myShow(...)
- end
- function BaseLayer:onExit()
- print("baselayer is onExit")
- if (not self._cleanBaseOver) then
- self._cleanBaseOver = true
- self:myClose()
- end
- end
- function BaseLayer:closeShowLayer()
- self._cleanBaseOver = true
- self:myClose()
- self:removeFromParent()
- end
- function BaseLayer:myShow(...)
- assert(false, "myShow this method must be inherited") --这个方法必须被重写
- end
- function BaseLayer:myClose()
- assert(false, "myClose this method must be inherited") --这个方法必须被重写
- end
- -- listener
- function BaseLayer:addListener(__noswallow)
- print("BaseLayer:addListener successed")
- self._listener = cc.EventListenerTouchOneByOne:create()
- if (__noswallow) then
- self._listener:setSwallowTouches(false)
- else
- self._listener:setSwallowTouches(true)
- end
- self._listener:registerScriptHandler(handler(self,self.onTouchBegin),cc.Handler.EVENT_TOUCH_BEGAN);
- self._listener:registerScriptHandler(handler(self,self.onTouchMove),cc.Handler.EVENT_TOUCH_MOVED);
- self._listener:registerScriptHandler(handler(self,self.onTouchEnd),cc.Handler.EVENT_TOUCH_ENDED);
- self._listener:registerScriptHandler(handler(self,self.onTouchCancel),cc.Handler.EVENT_TOUCH_CANCELLED);
- cc.Director:getInstance():getEventDispatcher():addEventListenerWithSceneGraphPriority(self._listener,self);
- end
- function BaseLayer:removeListener()
- if self._listener then
- cc.Director:getInstance():getEventDispatcher():removeEventListener(self._listener);
- self._listener = nil
- end
- end
-
- --touch
- function BaseLayer:onTouchBegin(__touch,__event)
- --local _p = __touch:getLocation();
- --print("BaseLayer:onTouchBegin",_p.x,_p.y)
- return true;
- end
-
- function BaseLayer:onTouchMove(__touch,__event)
- end
-
- function BaseLayer:onTouchEnd(__touch,__event)
- end
- function BaseLayer:onTouchCancel(__touch,__eventt)
- end
- function BaseLayer:onCleanup()
- print("BaseLayer:onCleanup ")
- self:removeListener()
- end
-
- function BaseLayer:setListenerEnable(__state)
- if self._listener then
- self._listener:setEnabled(__state)
- end
- end
-
- return BaseLayer--BaseLayer_lua--BaseLayer.lua
|