cocos2d-x 版本3.15
1、touch事件
function TouchLayer:createLayer()
local function onTouchBegan(touch, event)
return true
end
local function onTouchMoved(touch, event)
end
local function onTouchEnded(touch, event)
if self.cb~=nil then
self.cb();
end
end
local listener = cc.EventListenerTouchOneByOne:create()
listener:setSwallowTouches(true)
listener:registerScriptHandler(onTouchBegan, cc.Handler.EVENT_TOUCH_BEGAN)
listener:registerScriptHandler(onTouchMoved,cc.Handler.EVENT_TOUCH_MOVED )
listener:registerScriptHandler(onTouchEnded,cc.Handler.EVENT_TOUCH_ENDED )
local eventDispatcher = self:getEventDispatcher()
eventDispatcher:addEventListenerWithSceneGraphPriority(listener,self)
end
2、CSLoader、doLayout的使用
local visibleSize = cc.Director:getInstance():getVisibleSize();
local tLayer = require "gameui/touchlayer"
tLayer =tLayer:create();
tLayer:setColorLayer();
tLayer:setName("tLayer")
local uiLayer = cc.CSLoader:createNode("msgbox.csb")
uiLayer:setContentSize(visibleSize)
--改变界面大小后,需要重新布局一下(doLayout,doLayout 只对占父节点位置百分比有效)
ccui.Helper:doLayout(uiLayer)
uiLayer:setLocalZOrder(100002)
tLayer:addChild(uiLayer)