用途:为 Godot 的 RichTextLabel 提供 BBCode 富文本与自定义效果的专家级实现蓝图,覆盖格式化文本、可点击 meta 链接、图片缩放、打字机对话与视觉特效。
主要能力:提供多个脚本,包括 rich_text_rainbow_effect.gd(随时间旋转颜色)、rich_text_glitch_effect.gd(空间抖动与透明度闪烁的故障效果)、rich_text_typewriter_controller.gd(解析 [pause]、[speed] 事件标签的打字机控制器)、rich_text_meta_dispatch.gd(多前缀 URL 的 meta 点击分发)、rich_text_image_scaler.gd(按运行时字号缩放 [img])、rich_text_hover_reactive.gd(悬停信号与光标/SFX 反馈)、rich_text_bbcode_sanitizer.gd(防止公共聊天 BBCode 注入)、rich_text_gradient_generator.gd(逐字符多段线性渐变)、rich_text_auto_scroller.gd(制作人员、新闻、日志的平滑纵向滚动)、rich_text_syntax_highlighter.gd(基于正则的代码块高亮)。
使用方式:启用 $RichTextLabel.bbcode_enabled = true 后赋值 text;自定义效果必须通过 Inspector 或 install_effect() 注册到 custom_effects;meta 点击连接 meta_clicked 信号,建议用 rich_text_meta_dispatch.gd 并只发命令、不在主线程做重逻辑;打字机暂停/变速必须用 visible_characters 与索引器,简单整行淡入可用 visible_ratio + Tween;用户输入必须先经 rich_text_bbcode_sanitizer.gd。
适用场景:视觉小说对话、教学文案、日志与制作人员滚动、代码块高亮、聊天与大厅等用户生成富文本界面。
限制与规则:避免在紧凑循环中解析大量 BBCode,应缓存格式化字符串;[img] 不要用绝对像素,需配合缩放脚本;[url] 必须有悬停视觉反馈;不要逐帧改写文本或 BBCode 字符串;大标题与动态 UI 应使用 MSDF 字体;布局用 BBCode 表格与对齐标签而非硬编码;meta_clicked 中避免重逻辑。官方文档与相关技能链接按需查阅,不预加载。具体收费、平台与效果数据暂未提供。