是这样的,项目里用c++实现了一个层(layer) 把这个层封装成了 lua接口 在lua的场景初始化中
加入这个层,然后加入了一个lua的UI,如代码所示
function GameScene:ctor()
local world =test.TestScene:create()
self:addChild(world)--这个就是c++实现的layer
cc.ui.UIPushButton.new({normal = "image/start1.png",pressed = "image/start2.png",})
:onButtonClicked(function ( )
print("start")
app:enterScene("MainScene", nil, "splitRows", 1.0)
end)
:pos(display.cx/2,display.cy)
:addTo(self)
end
问题是这样的,我在c++的layer里增加了如下的事件监听
listener->onTouchBegan = CC_CALLBACK_2(CMagicView::onTouchBegan, this);
listener->onTouchMoved = CC_CALLBACK_2(CMagicView::onTouchMoved, this);
listener->onTouchEnded = CC_CALLBACK_2(CMagicView::onTouchEnded, this);
//_eventDispatcher->addEventListenerWithFixedPriority(listener, -10);
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener,this);
导致我在lua里增加的UI无论如何也收不到触摸事件,事件全部被c++的事件监听处理掉了,怎么破
我调试了CCEventDispatcher.cpp的事件分发接口,lua自己的UI事件貌似不是通过这个分发的,完全没有头绪
请大神帮忙~~