2.x版本一般是以下方法设置
CCDirector::sharedDirector()->getTouchDispatcher()->addTargetDelegate(this, priority, true);
对象销毁的时候还需要执行下面的代码
CCDirector::sharedDirector()->removeDelegate(this);
3.x版本的触摸点击事件较之2.x版本有了很大的改动,直接与层的Z-Order相关,不需要再设优先级priority,Z-Order越大,则越先触发,越小则越晚触发。
//层 1
auto Layer1 = Layer::create();
addChild(Layer1, 10);
auto listener1 = EventListenerTouchOneByOne::create();
listener1->

Cocos2d-x 3.x 的触摸事件处理方式与2.x不同,不再需要设置优先级,而是依赖于层的Z-Order,顺序为Z-Order越大,事件触发越早。若要阻止事件传递到下一层,需要在onTouchBegan中返回true并使用setSwallowTouches(true),但返回false时即使设置setSwallowTouches(true)也无法完全屏蔽点击,这是一个未解的问题。
最低0.47元/天 解锁文章
4万+

被折叠的 条评论
为什么被折叠?



