触摸
cocos2dx lua
--触摸事件
local listener = cc.EventListenerTouchOneByOne:create();
listener:setSwallowTouches(true);
listener:registerScriptHandler(handler(self, self.onTouchBegin), cc.Handler.EVENT_TOUCH_BEGAN);
listener:registerScriptHandler(handler(self, self.onTouchMoved), cc.Handler.EVENT_TOUCH_MOVED);
listener:registerScriptHandler(handler(self, self.onTouchEnd), cc.Handler.EVENT_TOUCH_ENDED);
local eventDispatcher = self:getEventDispatcher()
eventDispatcher:addEventListenerWithSceneGraphPriority(listener, self.pPanel_xiazhu);
function Layer:onTouchBegin(touch, unused_event)
print("onTouchBegin")
return true
end
function Layer:onTouchMoved(touch, unused_event)
local v = self:convertTouchToNodeSpace(touch)
print( v.x ..",".. v.y)
end
function Layer:onTouchEnd(touch, unused_event)
self.m_vTouchBegin = cc.p(0, 0)
print("onTouchEnd")
return true
end
quick lua
使用的是display创建的场景,直接增加
self:setTouchEnabled(true)
self:addNodeEventListener(cc.NODE_TOUCH_EVENT, function(event)
local label = string.format("parentButton: %s x,y: %0.2f, %0.2f", event.name, event.x, event.y)
print(label)
if cc.rectContainsPoint(self.pimg_cm_10:getBoundingBox(), cc.p(event.x, event.y)) then --点击范围判定
print("aaaaa")
end
return true
end)
setTouchSwallowEnabled 控制吞噬