SuperAPI AI 工具集

godot-ui-theming

通用与其它

查看项目

更新于 10-16 03:46

技能介绍

用途:为 Godot 项目建立一致的 UI 视觉体系,通过 Theme 资源、StyleBox、字体与覆盖系统统一皮肤,并支持运行时换肤与无障碍模式。

主要能力:提供多个示例脚本,包括 global_theme_manager.gd(动态切换、变体与回退)、ui_scale_manager.gd(运行时换肤与 DPI/分辨率缩放)、theme_swapper.gd(明暗模式级联传播)、danger_button_assignment.gd(theme_type_variation 语义化样式)、dynamic_stylebox_color.gd(运行时安全改色,需先 duplicate())、procedural_theme_safe.gd(生成 UI 的可靠主题化)、custom_chart_drawing.gd、theme_isolation.gd、pulsating_ui_theme.gd、crisp_ui_scaler.gd、memory_safe_custom_drawing.gd、rtl_theme_mirroring.gd、focus_prompt_icon_swapper.gd 等。

使用方式:全局外观在项目设置 GUI→Theme 或 Theme 编辑器中定义;单个控件差异用 add_theme_*_override;按钮/面板子类型用 theme_type_variation;运行时改色先 duplicate() 再覆盖;换肤在主题根节点替换 Theme 资源,并用 NOTIFICATION_THEME_CHANGED 更新自定义绘制。

适用场景:游戏 HUD、应用 UI、视觉小说对话界面、移动端触控缩放与高对比主题、季节化图标包切换、RTL/LTR 双向布局。

限制与注意:禁止在 _ready() 中为大量节点新建 StyleBox;子节点自带 Theme 会阻断父级继承;不得硬编码颜色;不得在 _draw()/process() 中修改主题资源;焦点样式不可仅用 StyleBoxEmpty;主题属性必须用专用 add_themeoverride API;expand_margin 不扩大点击区域;StyleBox 不可作为 _draw() 局部变量;不要为改一个颜色复制场景。具体 API 细节与官方文档链接需查阅原文。