前言:

如果看了上一节我推荐的blog,并且掌握了遮罩层的运用,那么本节介绍的发光标题就非常的简单了。

没有看也没关系,现在我来具体讲一下ClippingNode

正文:

关于遮罩ClippingNode,我们先来介绍两个名词:模板和底板

不知道大家以前又没有玩过橡皮泥,通常有一下空心的模具,只要把花型的模具按在红色的橡皮泥上面,就可以裁剪出一个花型的红色橡皮泥

这里花型模具就是模板,红色橡皮泥就是底板

在cocos2dx中 模板和底板都可以是Layer/Sprite/Node/DrawNode等

举个例子,假如我想要在背景中加入一个红色的星星,那么就可以用一个星星形状的Sprite作为模板,用一个红色背景作为底板

星星形状模板 + 红色底板 = 红色星星的ClippingNode

如图:

可以看出,我们的模具是什么颜色的没关系,我们要的只是模具的形状罢了。

好了,说了那么多,应该看看怎么定义ClippingNode了

        ClippingNode* cliper = ClippingNode::create();  //创建一个ClippingNodeSprite* redBG = Sprite::create("redBG.png");    //创建一个Sprite作为底板Sprite* stencil = Sprite::create("star.png");   //创建一个Sprite作为模板cliper->setStencil(stencil);    //设置模板cliper->addChild(content);<span style="white-space:pre">   </span>//设置底板this->addChild(cliper);

其中设置模板用setStencil方法,一个ClippingNode只有一个stencil

设置底板的话只需要addChild,底板可以使多个Node/Layer/Sprite等的叠加

ClippingNode还有两个重要的方法

1、setInverted(bool)  设置是否显示剩余部分,默认为false

何为显示剩余部分,同样以星星为例子,当设置为显示剩余部分时如下图:

可以看出剩余部分和非剩余部分是互补的,即剩余部分+非剩余部分=底板

2、setAlphaThreshold(float)  设置模板的显示门槛

参数代表RGBA值中的A,即透明度,默认值为1,当为1是表示全部绘制。

假如设置为0.5,则表示模板中A值大于0.5的像素才会被作为模板(的形状)。

同样以星星举例子。

在设置为显示剩余部分时:

假如不设置模板的显示门槛,效果如下

好了,关于ClippingNode的基本介绍就到此结束。

下面开始讲我们的发光标题BlinkTitle了。先给出效果图:

BlinkTitle的使用方法:

先将"spark.png"放到resource文件夹里面

用BlinkTitle::create(std::string fileName) 创建一个对象,将对象添加到图层上即可

BlinkTitile的实现思路:

1.根据传入的fileName创建一个Sprite* bg作为底板

2.同时上面的Sprite* stencil = bg也是作为模板

3.创建一个闪光效果的Sprite* spark(就是一根斜线),也作为底板。因此spark叠放次序应该要在bg的上面

4.spark运行左右运动的动作

从上面的实现思路可以看出,BlinkTitile并不只用于创建标题,其他资源一样可以的。如下图

就这么简单,最后附上源码

点击打开链接

Cocos2dx3.2编写常用UI组件(四)发光的标题BlinkTitile相关推荐

  1. 3.Android学习之常用UI组件(一)

    目录 3.常用UI组件(一) 1.文本类组件 1-1.文本框(TextView) 1-2.编辑框(EditText) 2.按钮类组件 2-1.普通按钮(Button) 2-2.图片按钮(ImageBu ...

  2. Vue UI 组件库(移动端常用 UI 组件库,PC 端常用 UI 组件库,Element UI基本使用,Element UI按需引入)

    文章目录 Vue UI 组件库 7.1 移动端常用 UI 组件库 7.2 PC 端常用 UI 组件库 7.3 Element UI基本使用 7.4 Element UI按需引入 Vue UI 组件库 ...

  3. Taro-ui 常用 UI 组件库说明

    Taro-ui 常用 UI 组件库说明 https://taro-ui.jd.com/#/docs/introduction 安装 npm install -g @tarojs/cli taro in ...

  4. react常用ui组件库

    前端常用组件库 移动端和pc端适配:react+chakre-ui组件库+recoil状态管理+react-router-dom+typescript https://chakra-ui.com/do ...

  5. 前端开发常用UI组件库(vue、react)

    pc端 Ant Design Ant Design是基于 Ant Design 设计体系的 React UI 组件库 Element Element是基于 Vue 2 的UI组件库 Element+ ...

  6. VUE常用UI组件插件及框架-vue前端UI框架收集

    UI组件及框架 element - 饿了么出品的Vue2的web UI工具套件 mint-ui - Vue 2的移动UI元素 iview - 基于 Vuejs 的开源 UI 组件库 Keen-UI - ...

  7. RN常用UI组件技术选型

    rn默认提供的控件比较基础,我们想要达到一个开箱即用的体验来构建常用app的UI,不可避免的需要用到自定义的组件库. 那么对于快速开发来说,我们选择一个不错的第三方组件库就是一件很重要的事.经过调研, ...

  8. vue 常用ui组件

    vux github ui demo:https://github.com/airyland/vux Mint UI 项目主页:http://mint-ui.github.io/#!/zh-cn de ...

  9. vue 常用ui组件库

    vux github ui demo:https://github.com/airyland/vux Mint UI 项目主页:http://mint-ui.github.io/#!/zh-cn de ...

最新文章

  1. 布道微服务_08服务治理的常用手段
  2. 国内MySQL技术现状_1024不搬砖,谈谈自己2020剩余两月的学习计划
  3. python智能光环板_学而思编程推出全新智能学习系统,搭配多种硬件
  4. 模拟——乒乓球(洛谷 P1042)
  5. android中实现GPS定位功能,Android中实现GPS定位的简单例子
  6. 人工智能如何改变物联网?
  7. Linux 命令(111)—— alias 命令(builtin)
  8. [转载] 说说Python 面向对象编程
  9. html excel插件,Web端如此强大的电子表格Excel插件,轻松进行数据处理——jExcel
  10. 服务器系统日志应怎么查看,怎么查看服务器操作系统日志
  11. ABAP 语法备忘 刘欣
  12. 工作展望简短_简短的工作计划
  13. 人工智能与大数据就业前景_大数据与人工智能方面专业未来前途
  14. ios5.1.1旧版软件下载_苹果iOS 14.1正式版推送 关闭旧版本降级通道
  15. 产生粗体字的html标签,html字体加粗用css设置文字粗体样式
  16. 招商银行信用卡推荐链接
  17. micro-app 微前端脚手架搭建
  18. ORA-00933: SQL 命令未正确结束处理办法
  19. 检测浏览器是否接受Cookies(Downmoon)?
  20. springboot 自定义注解拦截器

热门文章

  1. 141 条人人都该知道的健康常识
  2. Android移动网络设置
  3. 自定义设置隐私面单教程
  4. 【MPE】Anaconda在指定位置创建MPE环境
  5. 微信小程序获取当前城市地址
  6. 如何实现各种行业各种类型会员卡体系的设计
  7. 揭秘12306技术改造(三):传统框架云化迁移到内存数据平台
  8. 生产实践题目计算机,生产运作管理课后计算机题和实践题[部分]答案解析.doc
  9. BlackBerry 10使用Google TTS做中文文本朗读,开发语言C++ Qt Cascade
  10. 如何使用PhoneClean for mac中的“Privacy Clean”清除隐私信息