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


    代码如下:

    Size visibleSize = Director::getInstance()->getVisibleSize();
    
        /* create two sprites which have overlapped parts */
        Sprite* sp1 = Sprite::create("sprite1.png");
        sp1->setPosition(Point(visibleSize.width * 0.5f, visibleSize.height * 0.5f));
        this->addChild(sp1);
    
        Sprite* sp2 = Sprite::create("sprite2.png");
        sp2->setPosition(Point(visibleSize.width * 0.5f, visibleSize.height * 0.5f));
        this->addChild(sp2);
    
        auto listener = EventListenerTouchOneByOne::create();
        listener->setSwallowTouches(true);
        listener->onTouchBegan = [](Touch* touch, Event* event){
            /* get the target bind by the touch event listener */
            auto target = static_cast<Sprite*>(event->getCurrentTarget());
    
            Point pos = Director::getInstance()->convertToGL(touch->getLocationInView());
    
            /* judge if the touch position inside the bounding box of sprite */
            if (target->getBoundingBox().containsPoint(pos))
            {
                /* set the opacity of the sprite */
                target->setOpacity(100);
    
                return true;
            }
            
            return false;
        };
        listener->onTouchEnded = [](Touch* touch, Event* event){
            /* restore the opacity of the sprite */
            auto target = static_cast<Sprite*>(event->getCurrentTarget());
            target->setOpacity(255);
        };
      
        /* register the touch event listener by event dispatcher to bind sprite1 */
        _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, sp1);
    
        /* register the touch event listener by event dispatcher to bind sprite2 */
        _eventDispatcher->addEventListenerWithSceneGraphPriority(listener->clone(), sp2);
  • 相关阅读:
    .NET基础之:i++和i=i+1和++i的区别
    几个缩写
    下一步工作的一些思考和问题
    显著提高应变的定位精度和颗粒大小
    两个使用的Ajax Demo
    SQL Service查询分析
    自学面向对象
    支持定位当前页,自定义排序的分页SQL(拒绝动态SQL)
    WCF学习经验分享,如何更好地学习WCF?
    Custom DataContractSerializerOperationBehavior
  • 原文地址:https://www.cnblogs.com/davidgu/p/4515432.html
Copyright © 2020-2023  润新知