//注册触摸
    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, this);
    //创建一个遮罩
    LayerColor *m_pLyaerColor = LayerColor::create(ccc4(, , , ));

    //创建剪裁节点
    ClippingNode *pClip = ClippingNode::create();
    pClip->setInverted(true);//是否反向,true 圆是透明,其他是黑, false 圆是黑,其他透明
    addChild(pClip);

    //将遮罩添加到裁剪节点上
    pClip->addChild(m_pLyaerColor);

    //绘制圆区域
    //设置参数
    ccColor4F red = ccc4f(, , , );
    float radius = 55.0f;//圆的半径
    ;//顶点数,将圆看成是200边型
    float angel = 2.0f * (float)M_PI / pCount;//两个顶点与中心的夹角(弧度)
    Point m_vPoint[pCount];
    ; i < pCount; i++)
    {
        float radian = i * angel;//弧度
        m_vPoint[i].x = radius * cosf(radian);//顶点X坐标
        m_vPoint[i].y = radius * sinf(radian);//顶点Y坐标
    }

    //绘制多边形
    //注意不要将pStencil addChild
    DrawNode *pStencil = DrawNode::create();
    pStencil->drawPolygon(m_vPoint, pCount, red, , red);//绘制这个多边型
    pStencil->setPosition(Vec2(visibleSize.width / , visibleSize.height /));
    //将这个圆形从裁剪节点上面抠出来, Stencil是模版的意思
    pClip->setStencil(pStencil);
bool HelloWorld::onTouchBegan(Touch *touch, Event *event){

    Size size = Director::getInstance()->getWinSize();
    Vec2 location = touch->getLocation();//获取点击的坐标

    );//获取绝对值
    );//坐标x.y - 圆心x,y  size/2是圆心.

    if (b <= 55.0f && c <= 55.0f)
    {
        log("dianjidaole");//小于55  点击到了圆
        return true;
    }

    log("meiyou");
    return false;
}

cocos2dx 3.x 蒙板 遮罩 点击圆功能的更多相关文章

  1. 遮罩 HUD 指示器 蒙板 弹窗

    遮罩 HUD 指示器 蒙板 弹窗 UIAlertView的使用<代理方法处理按钮点击> UIAlertView *alertView = [[UIAlertView alloc] init ...

  2. cocos2d-x之蒙板,局部高亮可点,CCRenderTexture

    转自:http://www.2cto.com/kf/201207/144656.html 蒙板,局部高亮可点的用处大多是在新手引导的时候,引导玩家一步一步的走游戏的操作流程. 之前写了一个cocos2 ...

  3. SVG 2D入门9 - 蒙板

    SVG支持的蒙板 SVG支持多种蒙板特效,使用这些特性,我们可以做出很多很炫的效果.至于中文中把mask叫做"蒙板"还是"遮罩"就不去区分了,这里都叫做蒙板吧. ...

  4. js动态加载的蒙板弹框

    我们访问一些网站时总会遇到这种点击后,背景像被打上一层模板一样,这个是怎么做到的呢? 它是将这个弹框div独立于页面容器wrap,设置position为absolute,将其水平垂直之后都居中,设置弹 ...

  5. PS日记二(调色:色阶,曲线,色相/饱和度,色彩平衡,蒙板)

    基础知识一:在PS操作中为什么要复制图层(ctrl+J)? 答:复制图层主要是为了 备份原图层,在副本中进行操作 如果说你副本弄坏了,还有原来的PS复制图层一方面是保全原图.二是因为图层是ps操作的基 ...

  6. 【Anroid界面实现】WindowManager类使用具体解释——用户首次打开APP的使用教学蒙板效果实现

    转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 在上一篇的文章中,我们介绍了怎样实现桌面悬浮窗体,在这个效果的实现过程中.最重要的一个类就是WindowMa ...

  7. WPF通过不透明蒙板切割显示子控件

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/Backspace110/article/ ...

  8. WPF弹出带蒙板的消息框

    效果图 思路 拿到父级窗体的内容,放入一个容器里,再在容器里放入一个半透明层.将整个容器赋给父级窗体的内容. 关闭时反向操作. 代码 消息窗弹出时 /// <summary> /// 弹出 ...

  9. NeHe OpenGL教程 第二十课:蒙板

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

随机推荐

  1. 第七篇:Logistic回归分类算法原理分析与代码实现

    前言 本文将介绍机器学习分类算法中的Logistic回归分类算法并给出伪代码,Python代码实现. (说明:从本文开始,将接触到最优化算法相关的学习.旨在将这些最优化的算法用于训练出一个非线性的函数 ...

  2. mac 安装oracle

    http://www.oracle.com/technetwork/cn/database/10204macsoft-x86-64-087400-zhs.html

  3. PyQt4文件对话框QFileDialog

    文件对话框允许用户选择文件或文件夹,被选择的文件可进行读或写操作. #!/usr/bin/python # -*- coding: utf-8 -*- import sys from PyQt4 im ...

  4. MQTT的学习研究(十二) MQTT moquette 的 Future API 消息发布订阅的实现

    MQTT moquette 的Server发布主题 package com.etrip.mqtt.future; import java.net.URISyntaxException; import  ...

  5. 自定义事件类EventManager (TS中...args的使用例子)

    一个自定义事件类 初衷是使用Egret的事件有两点比较麻烦 1   在事件处理函数时,需要从e中获取data hander(e:egret.Event){ let data = e.data; } 2 ...

  6. python之xlwt模块列宽width、行高Heights详解

    今天用python操作excel时,发现xlwt的API中没有对width.height有更多介绍,且使用时也不知道width取多少合适.现在这做个详细介绍 使用版本: python:2.7.5 xl ...

  7. mysql字符串根据指定字符分割

    1.分割函数:SUBSTRING_INDEX('浙江温州-中国电信','-','1') 2.用例(筛选'-'前至少4个汉字的数据) a.数据分布 b.筛选sql select t.mobile_num ...

  8. redis安装(linux平台)

    1.安装依赖项 yum install tcl -y 2.下载redis包并安装 wget http://download.redis.io/releases/redis-2.8.17.tar.gz ...

  9. linux设置安全连接设置(私钥)

    1.私钥制作工具:puttygen 连接工具:xshell和putty. 2.制作私钥和公钥 a.打开puttygen点击Generate生产公钥和私钥(鼠标需要晃动,进度条才会前进) b. 设置标签 ...

  10. python调用C++之pybind11入门(相互调用)

    python调用C/C++有不少的方法,如boost.python, swig, ctypes, pybind11等,这些方法有繁有简,而pybind11的优点是对C++ 11支持很好,API比较简单 ...