用途:在 Roblox Studio 中调用 StudioDeviceSimulatorService,切换设备与屏幕方向,验证 UI 在不同机型上的表现,并做多设备对比。
主要能力:提供 /device-test(单设备测试)、/device-compare(多设备并排对比)、/device-orientation(竖屏与横屏对比)、/device-playtest(Play 模式下测试运行时 UI)四个命令。代理依次使用 execute_luau 调用模拟器 API、screen_capture 截图并做视觉分析、get_console_output 检查运行时错误。
使用方式:先读取游戏设置(ScreenOrientation、各 ScreenGui 的 IgnoreGuiInset、ScreenInsets、ClipToDeviceSafeArea 等),再按名称匹配设备(设备列表需通过 GetDeviceListAsync 与 GetDeviceInfoAsync 实时读取),调用 SetDeviceAsync、SetOrientationAsync 切换,必要时用 CreateDeviceAsync 创建自定义分辨率设备。每次设置后需 task.wait(0.2) 等待视口更新,并用 pcall 包裹调用。多开 Studio 时先调用 list_roblox_studios 与 set_active_studio。测试结束后用 StopSimulationAsync 恢复默认视口。
适用场景:检查刘海屏安全区、小屏溢出、主机 TV 过扫描、VR 非标准宽高比等布局问题,并给出改用 Scale 尺寸、TextScaled、增大触控目标等修复建议。
限制:execute_luau 运行在 Edit DataModel,无法访问 PlayerGui 或 Play 模式下的实时 AbsolutePosition/Size,Play 模式验证只能依赖截图;设备列表与具体 API 细节以同目录 API_SPEC.md 为准。