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);
时间: 2024-08-04 15:02:43

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

jQuery学习笔记(4)-设置元素的属性和样式

一.前言 本篇主要讲解如何使用jQuery获取和操作元素的属性和css样式 二."DOM属性"与元素属性 1.运行一下代码 <img src="/images/logo_small.gif" class="img_logo" /> 2.分析代码 元素属性src:/images/logo_small.gif 元素属性class:img_logo DOM属性currentSrc:http://localhost/images/logo_s

jQuery 设置内容和属性

设置内容 - text().html() 以及 val() 我们将使用前一章中的三个相同的方法来设置内容: text() - 设置或返回所选元素的文本内容 html() - 设置或返回所选元素的内容(包括 HTML 标记) val() - 设置或返回表单字段的值 下面的例子演示如何通过 text().html() 以及 val() 方法来设置内容: 实例 $("#btn1").click(function(){  $("#test1").text("Hel

为什么设置的margin-top属性不管用

为什么设置的margin-top属性不管用:建议:尽可能的手写代码,可以有效的提高学习效率和深度.有时候大家可能会遇到奇怪的现象,尽管没有任何的语法错误,但是设置的margin-top属性不会起作用,下面就就结合代码实例介绍一下产生此现象的原因和解决方法.原因一:外边距合并margin-top属性失效.代码实例如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" co

ZeroMQ接口函数之 :zmq_ctx_set - 设置环境上下文属性

ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq_ctx_set zmq_ctx_set(3) ØMQ Manual - ØMQ/3.2.5 Name zmq_ctx_set - 设置环境上下文属性 Synopsis int zmq_ctx_set (void *context, int option_name, int option_value); Description 函数 zmq_ctx_set() 将参数option_name指定的属性设置为参数op

C# - 设置DLL的属性Embed Interop Type 设为False

错误: Error msg: A reference was created to embedded interop assembly. because of an indirect reference to that assembly created by assembly. Consider changing the 'Embed Interop Types' property on either assembly. 解决方法: 将DLL的属性Embed Interop Type 设为Fal

有了这个,再也不用每次连新机器都要设置secure crt属性了

我连服务器用的是secure crt,每次ssh新服务器的时候都得手动设置字符编码和背景颜色,今天问了旁边的开发原来可以全局设置,以后连服务器的时候就再也不用手动设置相关属性了.步骤如下: 一开始点击Options--->Global Options--->Edit Default Settings 这里设置好你想要的属性,一般都是设置字符编码为utf8,把背景调为linux,就是背景为黑色的 接着点击Change ALL sessions保存后,以后连主机的时候就是你上一步你设置好的属性,这

设置表的属性值自动增加

设置表的属性值自动增加,比如插入第一条记录时 id 为 1,插入第二条记录时 id 为 2,以此类推,没增加一条记录,字段值自动加 1 mysql> CREATE TABLE tb_emp8    -> (    -> id INT(11) PRIMARY KEY AUTO_INCREMENT,   # 指定员工的编号自动递增    -> name VARCHAR(25) NOT NULL,    -> deptId INT(11),    -> salary FLOA

给li设置float浮动属性之后,无法撑开外层ul的问题。

最近在项目中有好几次遇到这个问题,感觉是浮动引起的,虽然用<div style="clear:both"></div>解决了,但自己不是特别明白,又在网上查了相关内容,是因为给li设置了浮动之后它就脱离当前正常的文档流,所以没办法撑开外层ul的高度. 以下面代码为例,其实有好几种解决方法,我用的这种并不是最简单的. <!DOCTYPE html ><html ><head><meta charset="utf-

如何为要被打印的内容设置CSS样式属性

如何为要被打印的内容设置CSS样式属性:有时候我们要打印的内容也是需要美观度的,并不希望太原汁原味了,所以要对其进行一下样式设置,本章节就简单介绍一下,如何利用CSS设置要被打印内容的样式,方式有多种,下面一一做一下简单介绍.一.使用link引入外部样式表: <link rel="stylesheet" href="css/style.css" media="screen" /> 以上代码的CSS样式用于屏幕显示效果,对于打印无效.关