回答
Hamibot 的悬浮窗功能主要通过脚本中的 floaty 模块实现,并没有固定的“悬浮球”界面入口。你可以通过编写脚本创建自定义的悬浮窗或悬浮球。
以下是使用 floaty 模块创建悬浮窗的基本方法和注意事项:
1. 创建悬浮窗
使用 floaty.window() 或 floaty.rawWindow() 可以创建悬浮窗。rawWindow 允许更自由的布局,支持全屏覆盖。
// 文档地址 https://docs.hamibot.com/
var w = floaty.rawWindow(
<frame gravity="center" bg="#FF0000">
<text id="text">悬浮文字</text>
</frame>
);
w.setPosition(500, 500);
// 保持脚本运行,否则悬浮窗会随脚本停止而关闭
setInterval(function () {
// 空循环保持脚本存活
}, 1000);
// 示例:5 秒后关闭
setTimeout(function () {
w.close();
hamibot.exit();
}, 5000);
2. 主要功能
- 位置控制:使用
setPosition(x, y)设置位置,getX()和getY()获取位置。 - 大小控制:使用
setSize(width, height)设置大小,支持-2参数根据内容自动调整。 - 触摸控制:使用
setTouchable(true/false)设置是否接收触摸事件。 - 内容修改:通过
ui.run()在 UI 线程修改悬浮窗内的控件内容。 - 关闭所有:使用
floaty.closeAll()关闭所有悬浮窗。
3. 注意事项
- 脚本生命周期:悬浮窗在脚本停止运行时会自动关闭。若需长期显示,需保持脚本运行(例如使用空的
setInterval)。 - 权限要求:使用悬浮窗功能需要授予 Hamibot 悬浮窗权限。
- 代码兼容性:脚本运行在 Rhino 1.7.15 引擎上,编写代码时请使用
function关键字,避免使用箭头函数表达式。
通过上述方法,你可以灵活定制悬浮窗的样式和行为,实现悬浮球的效果。
ℹ️ 本回答由 AI 生成,内容仅供参考