local disan = GUI:Frames_Create(
parent,
"threeFrames",
screenWidth/2,
screenHeight/2,
"res/yuding/donghua/d/d",
".png",
1,
25,
{speed = 50, c
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-21 16:30:07 |
👁️ 阅读: 15
要获取序列帧动画 `disan` 的坐标,你需要使用 `GUI:getPosition(widget)` 函数。这个函数会返回一个包含 `x` 和 `y` 属性的 table。
以下是修改后的代码示例:
```lua
local disan = GUI:Frames_Create(
parent,
"threeFrames",
screenWidth/2,
screenHeight/2,
"res/yuding/donghua/d/d",
".png",
1,
25,
{speed = 50, count = 25, loop = -1}
)
-- 在创建按钮之前,先获取序列帧的坐标
local disanPos = GUI:getPosition(disan)
SL:print("序列帧坐标 x:", disanPos.x, " y:", disanPos.y)
local beimian = GUI:Button_Create(disan, "bt1", screenWidth/2, screenHeight/2, "res/yuding/donghua/2.png")
```
**函数说明:**
- `GUI:getPosition(widget)`:获取指定控件的坐标位置
- 参数 `widget`:控件对象(这里是 `disan`)
- 返回值:一个包含 `x` 和 `y` 属性的 table
**注意:**
1. 这个坐标是相对于父节点 `parent` 的局部坐标
2. 如果你想获取世界坐标,需要使用其他方法,比如先获取屏幕坐标再转换
3. `GUI:getPosition()` 返回的是创建时设置的位置,如果后续移动了控件,需要重新调用获取最新位置
你可以在按钮创建前或创建后随时调用这个函数来获取序列帧的当前坐标。
← 返回问答库