今天富文本功能已经按既定的计划动手施工了,
目前已经将解决思路的模型给搭建出来了,
今天就说说我写的那些代码,全权当做一个使用说明
代码中主要的类有三个
- RichLabelMgr
- RichLabelCtrl
- RichLabelComponent
-
其中:
RichLabelMgr 是管理 RichLabelCtrl 的类,也是是入口。
里面有个CreateNewRichLab方法@rich_txt 全部的富文本字符串 @mnt 创建的父物体 @size 大小 @Alignment 对齐方式 @call_back 事件点击方式 RichLabelMgr.CreateNewRichLab(string rich_txt, Transform mnt, Vector2 size, NGUIText.Alignment alignment, OnClickCallBack call_back) // 昨天在说这个方法的时候,漏了一个参数,那就是mnt,这个参数还是有必要的,因为需要创建物体,所以这个参数就是父物体 // 目前能想到的,需要使用到的参数都在这里,创建的时候就需要指定这些参数 // 结果是返回一个Ctrl,不给Ctrl怎么让其他人重复调用创建出来的富文本呢?所以给个控制器给调用者
RichLabelCtrl 是控制器,可以理解为MVC的Controller
主要功能是管理整个富文本的清理,回收,刷新等工作,当然回调事件也会由这个控制器去管理RichLabelComponent 这个类是所有元素的基础类的父类,各个基础类都要重写这个父类的解析方法。
RichLabel
RichSprite
RichSpriteAnim
RichTexture
…
这些都是 RichLabelComponent 的子类。代码的主要逻辑模型就这样,很简单。
工程地址:https://gitee.com/ChengChannel/RichLabel
工程地址已经提供,供大家参考和修改。
如果有更好的解决方案别忘了告诉我。