cocos2dx lua触摸

触摸

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 控制吞噬

坑1:quick lua 使用 cocosstudio 2.0.6 版本,导出的csb,不可以添加addNodeEventListener事件

发布了3 篇原创文章 · 获赞 1 · 访问量 496

猜你喜欢

转载自blog.csdn.net/u013911970/article/details/80996638
今日推荐