回答
在 Hamibot 中,要让悬浮窗支持自由拖动和调整大小,需要调用悬浮窗对象的 setAdjustEnabled(true) 方法。启用后,悬浮窗的左上角和右上角会显示调整标示,你可以拖动左上角标示移动位置,拖动右下角标示调整大小。
以下是实现可拖动悬浮窗的示例代码:
// 文档地址 https://docs.hamibot.com/
var w = floaty.window(
<frame gravity="center" bg="#FF0000">
<text id="text">可拖动悬浮窗</text>
</frame>
);
// 启用悬浮窗调整功能(拖动和调整大小)
w.setAdjustEnabled(true);
// 设置初始位置
w.setPosition(300, 500);
// 5 秒后关闭
setTimeout(function () {
w.close();
}, 5000);
关键方法说明:
setAdjustEnabled(true):启用调整模式。启用后悬浮窗会显示控制标记,允许你通过触摸标记来拖动位置或改变大小。setAdjustEnabled(false):隐藏调整标记,悬浮窗将无法通过标记拖动(但仍可通过代码setPosition修改位置)。
注意事项:
- 触摸事件:启用调整模式后,悬浮窗会接收触摸事件。如果你希望悬浮窗透明且不阻挡下方点击,可结合
setTouchable(false)使用,但此时可能无法通过触摸拖动,需通过代码控制位置。 - 兼容性:脚本运行在 Rhino 1.7.15 引擎上,编写代码时请避免使用箭头函数(
=>)和默认参数值,使用标准的function语法。 - 关闭悬浮窗:使用完毕后建议调用
close()方法关闭悬浮窗,或使用floaty.closeAll()关闭所有悬浮窗,避免残留。
ℹ️ 本回答由 AI 生成,内容仅供参考