用途 ui-rich-text 用于指导在 Godot 引擎中构建基于 RichTextLabel 的富文本系统。其核心是 BBCode 格式化标签、meta 可点击链接以及 RichTextEffect 着色器,用来定义带格式的文本显示与交互。
主要能力 该技能覆盖多个方面:BBCode 格式化(粗体、斜体、颜色、图片、可点击链接等)、meta 标签与点击信号处理、RichTextEffect 自定义着色器效果。文档列出常用标签,包括 [b] 粗体、[i] 斜体、[u] 下划线、[color=red] 或 [color=#00FF00] 颜色、[center] 居中、[img] 图片、[url=data] 可点击链接。可用脚本包括 custom_bbcode_effect.gd(自定义 RichTextEffect 示例,如 wave、rainbow、shake、typewriter)和 rich_text_animator.gd(面向 BBCode 文本的打字机效果,支持自定义事件标签与暂停)。
使用方式 基础用法为先启用 BBCode,再设置文本,例如 $RichTextLabel.bbcode_enabled = true 与 $RichTextLabel.text = "[b]Bold[/b] and [i]italic[/i] text"。处理链接点击时,在 _ready 中连接 $RichTextLabel.meta_clicked.connect(_on_meta_clicked),并在回调函数 func _on_meta_clicked(meta: Variant) -> void 中处理。
必须避免的做法 文档明确列出若干常见错误:不要忘记 bbcode_enabled,否则 [b]bold[/b] 会显示为字面方括号;不要使用相对路径的 [img],应使用完整资源路径,如 [img]res://assets/icon.png[/img];不要忽略换行保留,BBCode 会吞掉换行,需使用 [br] 或正确转义的 \n;不要在没有连接 meta_clicked 信号的情况下使用 [url],否则点击无反应;不要嵌套相同类型的标签,如 [b][b]text[/b][/b] 行为未定义,应嵌套不同类型标签如 [b][i]text[/i][/b];不要使用非法颜色格式,如 [color=redd],应使用命名颜色或十六进制,如 [color=#FF0000]。
适用场景与限制 该技能适用于 Godot 项目中需要富文本显示与交互的界面,例如可点击链接的说明文本、带自定义动画效果的文本展示。参考资料为 Godot 官方文档中 RichTextLabel 的 BBCode 章节。是否收费、支持平台范围、具体版本要求等暂未提供。