godot-ui-rich-text

📁 thedivergentai/gd-agentic-skills 📅 3 days ago
23
总安装量
4
周安装量
#15939
全站排名
安装命令
npx skills add https://github.com/thedivergentai/gd-agentic-skills --skill godot-ui-rich-text

Agent 安装分布

opencode 4
gemini-cli 4
codex 4
github-copilot 3
kimi-cli 3

Skill 文档

Rich Text & BBCode

BBCode tags, meta clickable links, and RichTextEffect shaders define formatted text systems.

Available Scripts

custom_bbcode_effect.gd

Expert custom RichTextEffect examples (wave, rainbow, shake, typewriter).

rich_text_animator.gd

Typewriter effect for BBCode text with support for custom event tags and pausing.

NEVER Do in Rich Text

  • NEVER forget bbcode_enabled — text = "[b]bold[/b]" without bbcode_enabled = true? Literal brackets shown. ALWAYS enable BBCode first.
  • NEVER use [img] without res:// path — [img]icon.png[/img] with relative path? Image not found. Use full resource path: [img]res://assets/icon.png[/img].
  • NEVER skip newline preservation — text = "Line1\nLine2" renders as “Line1Line2”? BBCode eats newlines. Use [br] OR \n with proper escaping.
  • NEVER use [url] without meta_clicked — [url=shop]Buy[/url] without signal connection? Click does nothing. MUST connect meta_clicked signal.
  • NEVER nest same tag types — [b][b]text[/b][/b]? Undefined behavior. Nest different tags: [b][i]text[/i][/b].
  • NEVER use [color] with invalid formats — [color=redd]text[/color] typo? Falls back to white OR black. Use named colors OR hex: [color=#FF0000] for validation.

$RichTextLabel.bbcode_enabled = true
$RichTextLabel.text = "[b]Bold[/b] and [i]italic[/i] text"

Common Tags

[b]Bold[/b]
[i]Italic[/i]
[u]Underline[/u]
[color=red]Red text[/color]
[color=#00FF00]Green hex[/color]
[center]Centered[/center]
[img]res://icon.png[/img]
[url=data]Clickable link[/url]

Handle Link Clicks

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

func _on_meta_clicked(meta: Variant) -> void:
    print("Clicked: ", meta)

Reference

Related