cocos2dx新手入门问题!

刚接触cocos2dx,现在主要学习做win pc端的2d回合制项目,基础看了一些,准备动手写一个demo。
现在碰到两个问题,百度了好久也没找到答案,1,主场景分层的问题,我用的是两个layer,一个map layer, 一个ui layer。不知道这样是否合理。
2,事件穿透的问题,ui上的button无法吞噬点击事件,导致点了界面按钮后,人物还在移动。很怪异。网上查到的例子全是 touch方面的。我需要分别响应左右键,不知道怎么解决。
哪位大佬可以指点1,2感激不尽。

学cocos2dx,看官方的cocos2d_tests Demo就行了,把它看完什么都会了

看了的,但大多都是和touch相关的。我是想处理left/right mousedown事件。

昨天看了一下事件派发源码部份,看到鼠标事件会强制派发到绑定的控件,并且会优先触发touch事件,再触发click事件。
最后想到用addEventListenerWithFixedPriority来绑定事件,在事件里判断鼠标下方的对象,再分别响应不同事件。
不知道各位大佬类似的需求是怎么处理的?mousedown, mouseup, mouseclick, mousedoubleclick.

map层 ui层 两个sp没啥问题,,左右键响应直接用click事件监听就好了,,点了按钮人物还在移动说明点击事件没有触发,可以考虑多看看demo

MainSence
…|
…|–maplayer —>_eventDispatcher->addEventListenerWithSceneGraphPriority(mouselistener, maplayer)
…|–uilayer
…。…|
…。…|–uibutton -->addClickEventListener([&](Ref* pRef) …

当我点击按钮的时候,首先会触发mouselinster指定的事件,然后触发addClickEventListener指定的事件。
我现在的需求是点击按钮时,仅仅触发addClickEventListener,并不触发mouselistener指定的事件。不知道该怎么实现。

你把button的层级调到最上面试试

已搞定,改了低层的代码. 事件延z轴自上而下传递。中途可被拦截。并且增加了mousedoubleclick事件。
用着用着发现cocos2dx c++版本完成度还不是很高。经常需要自己到源码中去捣鼓一些功能。