【游戏客户端】富文本实现“部分区域”点击事件

【游戏客户端】富文本实现“部分区域”点击事件

      之前的博客中,我和大家分享了如何做:

  • 商业化的充值活动 :【商业化充值活动博客】
  • 抽卡系统:【抽奖,抽卡系统博客】
  • 装备系统:【装备系统博客】
  • 红点系统:【红点系统博客】
  • 商店&拍卖系统:【商店&拍卖系统】
  • UI环绕特效:【UI环绕特效】
  • 实现刮刮乐效果:【实现刮刮乐效果】
  • 实现卡牌翻转效果:【实现卡牌反转效果】
  • 实现剧情对话:【实现剧情对话效果】
  • 实现小地图系统:【小地图系统】
  • 实现裁剪效果:【实现游戏裁剪效果】

    

      好久没有写博客了,落下了一个多月了吧,主要是因为前段时间制作了一个像“朋友圈”那样的系统,太忙了。趁现在有空闲就继续和大家分享一些小功能的做法~~

【游戏客户端】富文本实现“部分区域”点击事件_第1张图片

      大家玩游戏的时候肯定会遇到一些通告内容,里面会有比如装备,比如道具,比如活动日程的相关信息,点击该部分内容就会打开相应的界面,而点击这条信息的其他区域则不会有反馈。给控件注册点击回调相信大家都能实现,但是只给控件的部分内容注册点击事件是怎么做到的呢,今天就和大家分享这种功能的做法~~

(一)什么富文本RichText

      首先什么是富文本组件呢?我们直接去官网上找定义

       所以在我看来富文本就像是一种容器,你可以往里面加入不同颜色,不同大小的字体,也可以加入图片,表情包等信息然后富文本会帮助你把它们组合成一个想要的效果输出

       在之前的文章中我就测试过富文本的例子,把两个文本,一个图片组合成富文本格式的组件

例子:

【游戏客户端】富文本实现“部分区域”点击事件_第2张图片

效果:

【游戏客户端】富文本实现“部分区域”点击事件_第3张图片

(二)BBCode 标签格式

      虽然我们分步去pushBackElement可以把实现效果,但是开发的时候都这样做也太麻烦了吧~因此RichText给我们提供了一种标签格式,让我们直接用代码控制文本的大小颜色

【游戏客户端】富文本实现“部分区域”点击事件_第4张图片

       其底层其实的做法就是当拿到我们的富文本内容时先进行一次正则匹配,用string.format方法把尖括号内的内容读出,之后就按照我们的需求去设置属性

      而我们为富文本实现部分区域的点击事件其实也是利用到这个规则,为我们想要出现点击逻辑的element加上标签on,然后把相关的回调编号需要传进去,然后在存放回调的表中读取即可~~

好啦今天就到这里
点赞,关注!!!

你可能感兴趣的:(cocos2dx实战项目,cocos2dx原理,富文本,RichText,cocos,游戏客户端)