设置界面拖拽
第一个参数 widget 必须是 GUI:Win_Create 创建的 第二个拖拽参数可以使用普通控件
Win_SetDrag(widget, dragLayer) 为什么意思
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-03-21 14:53:10 |
👁️ 阅读: 15
`GUI:Win_SetDrag(widget, dragLayer)` 是浮生梦老师前端课程中的一个函数,它的作用是**让一个界面可以被鼠标拖动**。
**参数解释:**
- **widget** (必填,界面对象):必须是通过 `GUI:Win_Create` 函数创建的界面对象。这个对象就是你要设置成可以拖动的那个窗口。
- **dragLayer** (必填,控件对象):一个普通的控件(比如一个图片、一个按钮,或者一个容器)。这个控件就是用户拖拽时的“抓手”区域。用户只有按住这个控件,才能拖动整个窗口。
**简单来说:**
这个函数就是告诉引擎:“当用户用鼠标按住 `dragLayer` 这个控件时,可以拖动 `widget` 这个整个窗口。”
**使用示例:**
```lua
-- 1. 先创建一个窗口
local myWindow = GUI:Win_Create("MyDragWindow", 100, 100, 400, 300, false, false, true, false, false, false, 1)
-- 2. 在窗口里创建一个图片作为拖拽区域(比如一个标题栏)
local dragArea = GUI:Image_Create(myWindow, "img_titlebar", 0, 0, "res/public/1900000610.png")
-- 3. 设置窗口的拖拽,让用户可以通过拖动这个图片来移动窗口
GUI:Win_SetDrag(myWindow, dragArea)
```
这样,玩家在游戏里就可以按住那个标题栏图片,把整个窗口拖来拖去了。
← 返回问答库