用途:为 Godot 项目构建响应式 UI 布局,围绕 Container 节点(HBoxContainer、VBoxContainer、GridContainer、MarginContainer、ScrollContainer 等)给出容器选型与脚本方案。
主要能力:提供决策表,按需求推荐容器与脚本,例如断点式全屏自适应根节点用 Margin+Box 容器配 responsive_layout_builder.gd;固定列且随宽度变化用 GridContainer 配 responsive_grid.gd 或 responsive_inventory_grid.gd;换行标签用 HFlowContainer 配 responsive_tag_cloud.gd;成千上万滚动行用虚拟池配 virtual_list.gd;日志/聊天自动滚动配 terminal_autoscroll.gd;UI 内 3D 预览用 SubViewportContainer 配 viewport_3d_preview.gd;深层嵌套导致布局峰值时改用锚点配 performance_anchor_layout.gd;径向/轮盘菜单用自定义 Container 配 custom_radial_container.gd。附按场景的“加载/不要加载”对照,以及 dynamic_tab_manager.gd、animated_container_shuffle.gd、aspect_ratio_mini_map.gd、container_size_flags_pro.gd 等脚本说明。
使用方式:按决策表选脚本;虚拟列表通过 virtual_list.gd 的 setup_pool 与 set_data 实现,不内联手写回收器;尺寸权重统一走 container_size_flags_pro.gd;拆分容器模式给出 setup_split 等示例。
限制与要点:Container 会覆盖子节点变换,勿手动设子节点位置或尺寸,改用 custom_minimum_size 或 size_flags;默认 size_flags 为 SIZE_SHRINK_BEGIN,需设 SIZE_EXPAND_FILL 才会扩展;GridContainer 必须设 columns,默认 1;响应式换行应用 HFlowContainer;勿在 ScrollContainer 里实例化数千节点,必须用虚拟池;添加子节点后需 await get_tree().process_frame 再设 scroll_vertical;勿缩放 SubViewportContainer 改尺寸,应调边距或用 stretch/stretch_shrink;注意 mouse_filter 设为 PASS 或 IGNORE;勿深层嵌套 10 层以上;ScrollContainer 需设最小尺寸;容器内勿直接动画 position,可用 Tween 作用于 custom_minimum_size;用 add_theme_constant_override("separation", value) 调整间距。其余 API 细节与官方链接按需查阅,资料未提供具体收费与平台信息。