Godot富文本处理技能Skill godot-ui-rich-text

此技能专注于在Godot游戏引擎中使用RichTextLabel实现BBCode格式化文本,支持加粗、斜体、颜色、图片、链接等标准格式化,并提供自定义效果如波浪、彩虹、抖动、打字机效果。适用于游戏对话系统、UI文本格式化、动态内容显示等场景。关键词:Godot, RichTextLabel, BBCode, 游戏开发, UI设计, 文本格式化, 自定义效果, 对话系统, 着色器。

游戏开发 0 次安装 0 次浏览 更新于 3/23/2026

name: godot-ui-rich-text description: “专家蓝图,用于RichTextLabel和BBCode格式化(加粗、斜体、颜色、图片、可点击链接)和自定义效果。涵盖元标签、RichTextEffect着色器和动态内容。用于实现对话系统或格式化文本。关键词:RichTextLabel, BBCode, [b], [color], [url], meta_clicked, RichTextEffect, 对话。”

富文本与BBCode

BBCode标签、元可点击链接和RichTextEffect着色器定义了格式化文本系统。

可用脚本

custom_bbcode_effect.gd

专家自定义RichTextEffect示例(波浪、彩虹、抖动、打字机效果)。

rich_text_animator.gd

BBCode文本的打字机效果,支持自定义事件标签和暂停。

在富文本中切勿做的事情

  • 切勿忘记bbcode_enabledtext = "[b]加粗[/b]" 未设置 bbcode_enabled = true?显示字面括号。始终先启用BBCode。
  • 切勿使用[img]而无res://路径[img]icon.png[/img] 使用相对路径?图像未找到。使用完整资源路径:[img]res://assets/icon.png[/img]
  • 切勿跳过换行符保留text = "行1 行2" 渲染为 “行1行2”?BBCode吞掉换行符。使用 [br] 或带正确转义的
  • 切勿使用[url]而无meta_clicked[url=shop]购买[/url] 未连接信号?点击无响应。必须连接 meta_clicked 信号。
  • 切勿嵌套相同类型标签[b][b]文本[/b][/b]?行为未定义。嵌套不同标签:[b][i]文本[/i][/b]
  • 切勿使用[color]带无效格式[color=redd]文本[/color] 拼写错误?回退到白色或黑色。使用命名颜色或十六进制:[color=#FF0000] 以验证。

$RichTextLabel.bbcode_enabled = true
$RichTextLabel.text = "[b]加粗[/b] 和 [i]斜体[/i] 文本"

常见标签

[b]加粗[/b]
[i]斜体[/i]
[u]下划线[/u]
[color=red]红色文本[/color]
[color=#00FF00]绿色十六进制[/color]
[center]居中[/center]
[img]res://icon.png[/img]
[url=data]可点击链接[/url]

处理链接点击

func _ready() -> void:
    $RichTextLabel.meta_clicked.connect(_on_meta_clicked)

func _on_meta_clicked(meta: Variant) -> void:
    print("点击了:", meta)

参考

相关