用途:为 Godot 的 RichTextLabel 构建格式化文本系统,适用于对话框、剧情文本、日志、聊天等场景。主要能力:BBCode 标签(加粗、斜体、颜色、图片、可点击链接)与 meta_clicked 链接处理;RichTextEffect 自定义效果(彩虹、故障等);打字机逐字显示与 [pause]、[speed] 事件标签;[img] 按运行字号缩放;悬停反馈;自动滚动;语法高亮;多级前缀 meta 分发;以及防止 BBCode 注入的清洗工具。资料附带脚本如 rich_text_rainbow_effect.gd、rich_text_glitch_effect.gd、rich_text_typewriter_controller.gd、rich_text_meta_dispatch.gd、rich_text_image_scaler.gd、rich_text_hover_reactive.gd、rich_text_bbcode_sanitizer.gd、rich_text_gradient_generator.gd、rich_text_auto_scroller.gd、rich_text_syntax_highlighter.gd。基本用法:启用 bbcode_enabled 并设置 text,例如 $RichTextLabel.bbcode_enabled = true;$RichTextLabel.text = "[b]Bold[/b] and [i]italic[/i] text"。自定义效果需通过 Inspector 的 custom_effects 或 install_effect() 注册。逐字显示:整体淡入可用 Tween 动画 visible_ratio;需要逐字暂停或变速标签时必须用 visible_characters 与索引器。限制与规则:勿在高频循环中解析复杂 BBCode;勿用 [img] 绝对像素宽度;勿把布局逻辑写进字符串;勿用 visible_ratio 处理暂停标签;meta_clicked 在主线程,勿放重逻辑;聊天等用户输入必须先经 rich_text_bbcode_sanitizer.gd 清洗;大标题与动态 UI 建议用 MSDF 字体。标签目录、4.7 图片单位等细节见 references/bbcode-tag-catalog.md 与 migration-notes.md,官方文档链接见资料。其余细节资料未提供。
godot-ui-rich-text
通用与其它
更新于 10-15 21:33