zoukankan      html  css  js  c++  java
  • 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);
  • 相关阅读:
    nvm的安装与使用
    webpack中import动态设置webpackChunkName方法
    css在背景图下加渐变色
    js实现时间戳转换
    js实现随机数和随机数组
    js实现导航自动切换请求数据
    jq、js获取select中option上的value值以及文本值
    js、jq实现select 下拉选择更多
    软件测试
    php
  • 原文地址:https://www.cnblogs.com/davidgu/p/4515432.html
Copyright © 2011-2022 走看看