local start_x = 0
local start_y = 460
for k, v in pairs(lifeTable) do
local ly_x = ((k-1)%2)*114 + start_x -- 按钮x坐标
local ly_y = start_y - math.floor((k-1)/2)*47
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-03-10 06:58:21 |
👁️ 阅读: 6
根据你的代码逻辑,一页18个元素,总共20个元素,可以这样计算坐标:
```lua
local start_x = 0
local start_y = 460
local items_per_page = 18 -- 每页显示数量
local total_items = 20 -- 总数量
for k, v in pairs(lifeTable) do
-- 计算当前元素在第几页
local page = math.floor((k-1) / items_per_page)
-- 计算当前元素在当前页中的位置(从0开始)
local index_in_page = (k-1) % items_per_page
-- 每行显示3个元素(18个元素/6行 = 3列)
local col = index_in_page % 3 -- 列号(0,1,2)
local row = math.floor(index_in_page / 3) -- 行号(0-5)
-- 计算坐标,每页从start_y开始向下排列
local ly_x = col * 114 + start_x
local ly_y = start_y - (row * 47 + page * (6 * 47)) -- 6行高度加上页间距
SL:Print("第"..(page+1).."页,位置"..k..": x:"..ly_x.." y:"..ly_y)
end
```
这个代码会:
1. 将20个元素分页显示(第1页18个,第2页2个)
2. 每页按3列6行排列
3. 每页从start_y开始,下一页向下偏移6行的高度
如果需要调整列数或行数,可以修改`col`和`row`的计算方式。
根据你的代码逻辑,一页18个元素,总共20个元素,可以这样计算坐标:
```lua
local start_x = 0
local start_y = 460
local items_per_page = 18 -- 每页显示数量
local total_items = 20 -- 总数量
for k, v in pairs(lifeTable) do
-- 计算当前元素在第几页
local page = math.floor((k-1) / items_per_page)
-- 计算当前元素在当前页中的位置(从0开始)
local index_in_page = (k-1) % items_per_page
-- 每行显示3个元素(18个元素/6行 = 3列)
local col = index_in_page % 3 -- 列号(0,1,2)
local row = math.floor(index_in_page / 3) -- 行号(0-5)
-- 计算坐标,每页从start_y开始向下排列
local ly_x = col * 114 + start_x
local ly_y = start_y - (row * 47 + page * (6 * 47)) -- 6行高度加上页间距
SL:Print("第"..(page+1).."页,位置"..k..": x:"..ly_x.." y:"..ly_y)
end
```
这个代码会:
1. 将20个元素分页显示(第1页18个,第2页2个)
2. 每页按3列6行排列
3. 每页从start_y开始,下一页向下偏移6行的高度
如果需要调整列数或行数,可以修改`col`和`row`的计算方式。
← 返回问答库