首页 > 其他分享 >【Unity】 HTFramework框架(五十六)MarkdownText:支持运行时解析并显示Markdown文本

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

时间:2024-09-24 13:56:49浏览次数:3  
标签:Markdown 解析 Unity 嵌入 图像 MarkdownText 文本


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


索引

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


MarkdownText

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

支持的Markdown语法

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

标题

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

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

强调文本

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

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

表格

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

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

嵌入图像

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

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

超链接

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

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

使用

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

MarkdownText设置项

MarkdownText组件面板,Markdown的设置项默认折叠:

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

点击打开后,可以看到Markdown的相关设置项:

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

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个属性:

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

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去图像图集中匹配图像,图像图集如下:

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

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

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


标签:Markdown,解析,Unity,嵌入,图像,MarkdownText,文本
From: https://blog.51cto.com/u_15911199/12098756

相关文章

  • [干货] [非基础警告] Unity 发布-订阅模式下的事件中心设计
    本文师承于唐老师,但是修改了一些代码,采用更加方便理解的方式设计 1.什么是事件中心2.可以比喻成冒险者工会的任务板子 任务板子上面有发布任务和任务完成两种基础情况2.1发布任务来个冒险者发布一个任务,就执行Pulishtask方法这个方法中包含了任务名字和完成后的需要......
  • 【Unity精品源码】JU TPS 3 – 完整的第三人称射击游戏模板
    ......
  • markdown学习
    标题#号加空格一级标题两个#加空格二级标题三个#加空格字体加粗两边加两个✳号斜体两边加一个✳斜体加粗两边加三个✳两边加两个波浪号引用引用,>加空格分割线---图片英文!+【图片名称】+(图片地址)超链接[地址名称](跳转地址)点击跳转到学习地址列表数字加点你也......
  • 【Unity】CinemachineVirtualCamera:实现第一人称视角控制
    相机视角的控制,利用CinemachineVirtualCamera插件(在packageManager中下载)实现键盘和鼠标控制第一人称视角。WASD前进后退向左向右,QE左右旋转;鼠标滚轮控制远近、俯仰和升降。另外还支持鼠标靠近边缘移动、鼠标拖拽等控制方式。成果展示Scene部分主相机增加CinemachineBrain组......
  • MarkDown下载、安装、和使用
    1下载记得先关闭你的杀毒软件通过百度网盘分享的文件:MarkdownPad+注册机+Awesomium_sdk.rar链接:https://pan.baidu.com/s/1l3YMwKIbYEstrT1yxJJlVA?pwd=6wff提取码:6wff备用地址:链接:https://pan.baidu.com/s/1HqnKWXDUpxHvF6TtVl6BKA提取码:h4vt2安装参考 https://www.ji......
  • vue3.0使用v-md-editor预览markdown文件
    1.安装依赖npmi@kangc/v-md-editor-S2.在main.js文件中引用注册组件import{createApp}from'vue';//预览组件以及样式importVMdPreviewfrom'@kangc/v-md-editor/lib/preview';import'@kangc/v-md-editor/lib/style/preview.css';importgithubThe......
  • 【unity开发】以OPPO手机为例,如何连接安卓设备并调试unity程序
    1.有线调试下面全程以oppo手机为例:1.打开手机开发者模式设置->关于手机->版本信息->狂点版本号直到弹出提示打开开发者模式即可2.打开USB调试打开开发者模式之后在设置->其他设置->开发者选项->USB调试打开即可3.USB数据线连接使用USB数据线连接你的手机和电脑,并确保USB......
  • Android平台Unity3D下如何同时播放多路RTMP|RTSP流?
    技术背景好多开发者,提到希望在Unity的Android头显终端,播放2路以上RTMP或RTSP流,在设备性能一般的情况下,对Unity下的RTMP|RTSP播放器提出了更高的要求。实际上,我们在前几年发布Unity下直播播放模块的时候,就已经支持了Android多实例播放RTMP|RTSP,随着大家对这块的技术诉求和性能要求越......
  • markdown 转 ppt
    marpit转html如果不需要插件,在vsCode内安装marpforvscode即可Ctrl+Shift+P或F1,搜索Marp:ExportSlideDeck如果需要自己安装一些插件markdown-it-*,需要使用下面的.jsimportfsfrom'fs'import{log}from'console'importMarpitfrom'@marp-team/marpit'impor......
  • 【Unity】UI、背景和3D的Camera和Canvas设置
    目前存在需求背景是指定的图片,该图片始终显示在页面中,不会因场景的视角操控发生尺寸等变化;UI内容显示在页面最上层,同样不会因场景的视角操控发生尺寸等变化,但是当软件整个尺寸发生变化时,会跟随变化,UI内容会覆盖3D物体;3D物体可以随着相机视角的变化而变近变远等,3D物体上可能存在......