function npc:openWin()
-- 创造外部界面
local win_skMaster = GUI:Win_Create("win_skMaster", 0, 0, 0, 0)
GUI:LoadExport(win_skMaster, "skill")
npc.ui = GUI:ui_delegate(win_skMaster)
-- 创建旋转容器
local rotate_vi
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-26 21:38:12 |
👁️ 阅读: 21
你的代码中有一个关键错误:你尝试在一个`RotateView`类型的控件上调用`GUI:ListView_setItemsMargin()`函数。
从浮生梦老师前端课程内容来看,`GUI:ListView_setItemsMargin()`只能用于`ListView`控件,而你的`rotate_view`是通过`GUI:RotateView_Create()`创建的,这是一个旋转容器,不是列表视图。
**修复代码:**
```lua
function npc:openWin()
-- 创造外部界面
local win_skMaster = GUI:Win_Create("win_skMaster", 0, 0, 0, 0)
GUI:LoadExport(win_skMaster, "skill")
npc.ui = GUI:ui_delegate(win_skMaster)
-- 创建旋转容器
local rotate_view = GUI:RotateView_Create(npc.ui.bg, "rotate_view", 370, 265, 400, 400, 9999999, {
[1] = {scale = 0.8, img = "res/player_show/player_show_0/001400.png"},
[2] = {scale = 1.4, img = "res/player_show/player_show_0/004486.png"},
[3] = {scale = 0.8, img = "res/player_show/player_show_0/004476.png"},
})
GUI:setTouchEnabled(npc.ui.rotate_view, false)
-- 错误:RotateView不能设置ItemsMargin
-- GUI:ListView_setItemsMargin(npc.ui.rotate_view, 100) -- 这行要删除或修改
-- 正确做法:如果是RotateView,不需要设置ItemsMargin
-- 如果需要设置旋转容器的间距,可能需要使用其他函数
end
```
**建议:**
1. 确认你确实需要的是`RotateView`而不是`ListView`
2. 如果需要一个列表容器,应该使用`GUI:ListView_Create()`
3. 如果确实需要旋转容器,那么`GUI:ListView_setItemsMargin()`这个调用就是错误的,应该移除
下次写代码时要注意控件类型,不同类型的控件有不同的函数接口,别搞混了哦!
← 返回问答库