当前位置: 首页 > news >正文

【Unity】 HTFramework框架(五十六)MarkdownText:支持运行时解析并显示Markdown文本

更新日期:2024年9月15日。
Github源码:[点我获取源码]
Gitee源码:[点我获取源码]

索引

  • MarkdownText
  • 支持的Markdown语法
    • 标题
    • 强调文本
    • 表格
    • 嵌入图像
    • 超链接
  • 使用
    • MarkdownText设置项
    • 运行时属性
    • 解析
    • 使用ID模式嵌入图像

MarkdownText

MarkdownText为UGUI Text的扩展加强版,支持在运行时解析并显示Markdown格式的文本。

支持的Markdown语法

目前它仅支持一些常用的Markdown语法。

标题

在这里插入图片描述

在这里插入图片描述

强调文本

在这里插入图片描述

在这里插入图片描述

表格

在这里插入图片描述

在这里插入图片描述

嵌入图像

在这里插入图片描述

在这里插入图片描述

超链接

在这里插入图片描述

在这里插入图片描述

使用

Text组件替换为MarkdownText组件即可。

MarkdownText设置项

MarkdownText组件面板,Markdown的设置项默认折叠:
在这里插入图片描述

点击打开后,可以看到Markdown的相关设置项:
在这里插入图片描述

1.Parse In Awake:在Awake时,便主动解析文本一次。
2.Hyperlink Underline:为超链接显示下划线(这将带来额外开销,但并不大)。
3.Table Row Height:表格行高度。
4.Sprite Assets:嵌入图像时,如果使用id模式,则此为图像的图集。
5.Table Template:表格绘制模板。
6.On Click Hyperlink:超链接点击事件。
7.On Click EmbedTexture:嵌入图像点击事件。

运行时属性

在运行时,会多出如下2个属性:
在这里插入图片描述

1.Raw Text:Markdown解析前的原始文本。
2.Pure Text:Markdown解析后的纯净文本,不含任何Markdown标记和富文本标记。

解析

勾选Parse In Awake后,MarkdownText会在Awake时主动解析一次,但之后若手动修改了textMarkdownText并不会主动解析,因为考虑到解析的成本。

所以,每次修改text后,需根据情况主动调用解析:

            _markdownText.text = "新的 Markdown 文本内容......";_markdownText.ParseRawText();

如果Markdown文本中有嵌入网络图像,则会有下载图像的过程,所以ParseRawText是一个延时可等待的方法,等到解析完成后,text会被重新赋值为解析后的富文本原始文本纯净文本则可通过上文的两个属性获取。

            _markdownText.ParseRawText(() =>{//解析完成......});

使用ID模式嵌入图像

Markdown的嵌入图像语法为:

![图像](https://......)

使用ID模式则为:

![图像](id:1)

此时,解析程序会根据id去图像图集中匹配图像,图像图集如下:
在这里插入图片描述

使用此快捷菜单创建新的图像图集:

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 前端 + 接口请求实现 vue 动态路由
  • QTreeView模糊查询
  • 建模杂谈系列256 规则函数化改造
  • 【机器学习】--- 自监督学习
  • 202409011在飞凌的OK3588-C的核心板跑Rockchip原厂的Android12时挂载触摸屏ft5x06之后使用i2c-tools检测
  • sql server 分区表查询
  • JavaEE:网络初识
  • Spring Boot:现代化Java应用开发的艺术
  • Blazor静态服务端呈现(静态SSR)身份认证
  • 【Python笔记】PyCharm大模型项目环境配置
  • Qt 定时器-定时备份
  • 微信小程序中实现类似于 ECharts 的图表渲染及优化
  • 家电制造的隐形守护者:矫平机确保材料完美无瑕
  • gin基本使用
  • 探索Python的Excel世界:openpyxl的魔法之旅
  • centos安装java运行环境jdk+tomcat
  • ES6核心特性
  • Javascript Math对象和Date对象常用方法详解
  • Javascript基础之Array数组API
  • node学习系列之简单文件上传
  • orm2 中文文档 3.1 模型属性
  • PaddlePaddle-GitHub的正确打开姿势
  • Yeoman_Bower_Grunt
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 从零搭建Koa2 Server
  • 给Prometheus造假数据的方法
  • 简单易用的leetcode开发测试工具(npm)
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 聊聊sentinel的DegradeSlot
  • 你不可错过的前端面试题(一)
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 为什么要用IPython/Jupyter?
  • 我感觉这是史上最牛的防sql注入方法类
  • 小程序 setData 学问多
  • 新书推荐|Windows黑客编程技术详解
  • 用jquery写贪吃蛇
  • 7行Python代码的人脸识别
  • 阿里云ACE认证学习知识点梳理
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • ​低代码平台的核心价值与优势
  • #QT 笔记一
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (floyd+补集) poj 3275
  • (zhuan) 一些RL的文献(及笔记)
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (学习日记)2024.01.19
  • (转) Face-Resources
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • .NET CLR Hosting 简介
  • .Net Core 中间件验签
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter