创建item
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-05-12 18:39:51 |
👁️ 阅读: 8
根据浮生梦老师前端课程内容,创建item通常需要创建一个容器节点作为父级,然后创建背景、图标、文字等子控件。以下是创建item的完整示例:
```lua
-- 首先创建父节点界面
local parent = GUI:Win_Create("GMMain", 0, 0, 0, 0, false, false, true, false, false, false, 1)
-- 创建item容器节点
local itemNode = GUI:Node_Create(parent, "Node_item", 21, 23)
GUI:setTag(itemNode, 201)
-- 创建item背景
local itembg = GUI:Image_Create(itemNode, "itembg", 0, 0, "res/custom/common/item10.png")
GUI:setAnchorPoint(itembg, 0.50, 0.50)
GUI:setTouchEnabled(itembg, false)
GUI:setTag(itembg, 0)
GUI:setLocalZOrder(itembg, -1)
-- 创建item图标
local itemIcon = GUI:Image_Create(itemNode, "item_icon", 0, 0, "res/private/player_main_layer_ui/player_main_layer_ui_mobile/1900015042.png")
GUI:setAnchorPoint(itemIcon, 0.5, 0.5)
GUI:setContentSize(itemIcon, 36, 36)
GUI:setTag(itemIcon, 181)
-- 创建item文字描述
local itemDesc = GUI:Text_Create(itemNode, "item_desc", 0, -20, 20, "#D6C6AD", "物品描述")
GUI:setAnchorPoint(itemDesc, 0.5, 0.5)
-- 设置item可点击并添加事件
GUI:setTouchEnabled(itemNode, true)
GUI:addOnClickEvent(itemNode, function()
SL:print("item被点击啦!")
end)
```
如果需要创建多个item,可以使用循环来批量创建:
```lua
-- 创建多个item的示例
local itemsContainer = GUI:Layout_Create(parent, "items", 100, 100, 400, 200)
GUI:setAnchorPoint(itemsContainer, 0.5, 0.5)
for i = 1, 4 do
local itemX = ((i-1) % 4 + 0.5) * 100
local itemY = 100 - (math.floor((i-1) / 4) + 0.5) * 100
local item = GUI:Image_Create(itemsContainer, "item" .. i, itemX, itemY, "res/chongzhi/bg_czicon_10.png")
GUI:setAnchorPoint(item, 0.5, 0.5)
GUI:setTouchEnabled(item, true)
GUI:setContentSize(item, {width = 90, height = 87})
-- 添加点击事件
local itemIndex = i
GUI:addOnClickEvent(item, function()
SL:print("点击了第" .. itemIndex .. "个item")
end)
end
```
关键点说明:
1. 先创建父节点界面(GUI:Win_Create)
2. 创建item容器节点(GUI:Node_Create)
3. 添加背景、图标、文字等子控件
4. 设置锚点、大小、位置等属性
5. 添加点击事件处理
这样创建的item既美观又具有交互功能,可以根据实际需求调整图片路径、位置和大小参数。
← 返回问答库