ps. 这个方法只适用设置精灵的触摸..

    //注册触摸事件..3.X后可以在这样写..不需要重新声明
    EventListenerTouchOneByOne *listener = EventListenerTouchOneByOne::create();
    listener->onTouchBegan = [](Touch* pTouch, Event* pEvent){
        return true;
    };
    listener->onTouchMoved = [](Touch* pTouch, Event* pEvent){
    };
    listener->onTouchEnded = [](Touch* pTouch, Event* pEvent){
    };
    //注册精灵监听..第1个精灵和第2个精灵
    _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, spr);
    _eventDispatcher->addEventListenerWithSceneGraphPriority(listener->clone(), spr1);

另一种写法

    //创建精灵
    Size size = Director::getInstance()->getWinSize();

    Sprite* sp1 = Sprite::create("sprite1.png");
    sp1->setPosition(Point(size.width * 0.5f, size.height * 0.5f));
    this->addChild(sp1);

    Sprite* sp2 = Sprite::create("sprite2.png");
    sp2->setPosition(Point(size.width * 0.5f, size.height * 0.5f));
    this->addChild(sp2);

    //注册触摸
    EventListenerTouchOneByOne *listener = EventListenerTouchOneByOne::create();
    listener->onTouchBegan = CC_CALLBACK_2(HelloWorld::onTouchBegan,this);
    listener->onTouchMoved = CC_CALLBACK_2(HelloWorld::onTouchMoved,this);
    listener->onTouchEnded = CC_CALLBACK_2(HelloWorld::onTouchEnded,this);
    listener->setSwallowTouches(true);

    //注册精灵监听
     _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, sp1);
    _eventDispatcher->addEventListenerWithSceneGraphPriority(listener->clone(), sp2);  
bool HelloWorld::onTouchBegan(cocos2d::Touch *pTouch, cocos2d::Event *pEvent){
    //获取当前点击的精灵
    Sprite* target = static_cast<Sprite*>(pEvent->getCurrentTarget());
    if (target->getBoundingBox().containsPoint(pTouch->getLocation()))
        return true;//点击到了

    return false;
}
void HelloWorld::onTouchMoved(cocos2d::Touch *pTouch, cocos2d::Event *pEvent){
    Sprite* target = static_cast<Sprite*>(pEvent->getCurrentTarget());
    //触摸的图片移动
    target->setPosition(target->getPosition() + pTouch->getDelta());
}

void HelloWorld::onTouchEnded(cocos2d::Touch *pTouch, cocos2d::Event *pEvent){

}

cocos2dx 3.x 精灵重叠时点击最上层的精灵的更多相关文章

  1. [COCOS2DX-LUA]0-006.cocos2dx中关于拖动屏幕物件,同时点击home键,返回后页面变黑的问题。

    基本信息介绍: 引擎框架: Quick-Cocos2dx-Community-3.6 测试机型: 魅族MX5 问题简介: 有拖动效果的物件,在拖动的工程中,手指不放,同时点击home键退到后台. 再返 ...

  2. 仅Firefox中A元素包含Select时点击Select不能选择option

    这是在使用京东的一个日期组件时碰到的bug,重现bug的代码精简如下 <!DOCTYPE HTML> <html> <head> <title> 仅Fi ...

  3. 截图技巧——鼠标按着不懂,同时点击截图快捷键(QQ为ctrl+alt+a)即可避免按下快捷键鼠标按下等操作消失截不到的尴尬。

    截图技巧--鼠标按着不懂,同时点击截图快捷键(QQ为ctrl+alt+a)即可避免按下快捷键鼠标按下等操作消失截不到的尴尬.

  4. cocos2d-x 不规则形状按钮的点击判定

    cocos2d-x 不规则形状按钮的点击判定 原理: 1.OpeGL ES提供了glReadPixels[^footnote]函数,来获取当前framebuffer上的像素数据 2.cocos2d-x ...

  5. iOS项目之同时点击多个按钮解决方案

    自己的项目完成后,在测试中出现了一个情况,同时点击界面中的多个按钮,会跳转多个界面.然后又看了看别的app,发现也有这样的情况, 如图 上面是我手机上美团app的截图,上面的分类同时选择多个时,只能跳 ...

  6. listview 两个Item可以同时点击

    android:splitMotionEvents="false" ListView的这个属性可以限制它不能同时点击两个Item

  7. cocos2dx 3.x(精灵的碰撞检测,点击移动与拖动精灵)

    // // MainScene.hpp // helloworld // // Created by apple on 16/9/19. // // #ifndef MainScene_hpp #de ...

  8. cocos2d-x 在输入文字时点击语音crash

    修改CCDirectorCaller.mm文件 (cocos2dx/platform/ios/CCDirectorCaller.mm)   添加的代码: #import <OpenGLES/EA ...

  9. Cocos2d-x设置吞没单击属性来避免精灵重叠被点击后的事件续传

    代码如下: Size visibleSize = Director::getInstance()->getVisibleSize(); /* create two sprites which h ...

随机推荐

  1. ChemDraw Pro绘制无环链结构的两种方法

    ChemDraw Pro 14是一款专门针对化学图形绘制而开发制作的编辑软件,是目前工科类常用的绘制化学结构工具,用于快速绘制常用的环结构组成.以下教程讲解ChemDraw Pro绘制无环链结构的两种 ...

  2. mybatis总结(三)之多表查询

    上一节,已经把实体类和配置文件都写过了,这节课直接添加几个方法吧 在DeptMapper.xml文件中添加 <!-- 多表查询(1对多) ,通过部门编号,查询出部门所在的员工姓名,部门名,部门编 ...

  3. Pok&#233;mon Go呼应设计:让全世界玩家疯狂沉迷

    引言:什么样的呼应设计会让移动游戏玩家沉迷?那必须为玩家构建一个属于玩家本人或者被玩家认可的虚拟环境.或者说是被玩家认可的虚拟世界.在移动游戏时代.想要做到这一点并不easy.但Pokémon Go却 ...

  4. Spring_day01--课程安排_Spring概念_IOC操作&IOC底层原理&入门案例_配置文件没有提示问题

    Spring_day01 Spring课程安排 今天内容介绍 Spring概念 Spring的ioc操作 IOC底层原理 IOC入门案例 配置文件没有提示问题 Spring的bean管理(xml方式) ...

  5. 开源内容管理系统Joomla3.5发布 基于PHP 7

    导读 作为深受广大站长喜爱的Joomla开源内容管理系统(Content Management System, CMS)正式推出3.5版本,这也是首个完全支持PHP 7语言开发的Joomla版本,基于 ...

  6. sessionStorage与localStorage

    客户端存储数据的两个对象为: localStorage和sessionStorage一样都是用来存储客户端临时信息的对象. 他们均只能存储字符串类型的对象(虽然规范中可以存储其他原生类型的对象,但是目 ...

  7. 【BZOJ2797】[Poi2012]Squarks 暴力乱搞

    [BZOJ2797][Poi2012]Squarks Description 设有n个互不相同的正整数{X1,X2,...Xn},任取两个Xi,Xj(i≠j),能算出Xi+Xj.现在所有取法共n*(n ...

  8. iOS 按钮文字加划掉线

    UIButton *btn = [[UIButton alloc]initWithFrame:CGRectMake(, , , )]; NSDictionary *normalTitleAttribu ...

  9. Caused by: java.sql.SQLException: Failed to start database 'metastore_db' with class loader org.apache.spark.sql.hive.client.IsolatedClientLoader$$anon$1@d7c365, see the next exception for details.

    解决方法:https://stackoverflow.com/questions/37442910/spark-shell-startup-errors 异常: 18/01/29 19:04:27 W ...

  10. content: "\e600"

    w图标生成原理. <style> @font-face { font-family: iconfont-sm; src: url(//at.alicdn.com/t/font_143340 ...