创建道具空间
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-06-04 17:47:49 |
👁️ 阅读: 3
要创建道具显示空间,可以使用 `GUI:ItemShow_Create` 函数。这个函数专门用于显示游戏道具图标,可以设置道具索引、是否可查看、数量等属性。
```lua
-- 首先创建父节点
local parent = GUI:Win_Create("GMMain", 0, 0, 0, 0, false, false, true, false, false, false, 1)
-- 创建一个背景图片作为道具容器
local itemBg = GUI:Image_Create(parent, "item_bg", 100, 100, "res/public/1900000610.png")
GUI:setAnchorPoint(itemBg, 0.5, 0.5)
-- 创建道具显示空间
local itemData = {
index = 1, -- 道具索引
look = true, -- 是否可查看
count = 1 -- 道具数量
}
local itemShow = GUI:ItemShow_Create(itemBg, "my_item", 40, 40, itemData)
GUI:setAnchorPoint(itemShow, 0.5, 0.5)
-- 可以设置道具显示的大小比例
GUI:setScale(itemShow, 0.8)
```
**函数说明:**
- `GUI:ItemShow_Create(parent, ID, x, y, itemData)` - 创建道具显示控件
- `parent`: 父节点对象
- `ID`: 唯一标识符
- `x`, `y`: 相对于父节点的坐标
- `itemData`: 道具数据表,包含:
- `index`: 道具索引(必需)
- `look`: 是否可查看(true/false)
- `count`: 道具数量
- `bgVisible`: 是否显示背景
- `color`: 道具品质颜色
**高级用法示例:**
```lua
-- 创建带背景和查看功能的道具
local advancedItemData = {
index = 1001,
look = true,
count = 5,
bgVisible = true,
color = 225 -- 品质颜色
}
local advancedItem = GUI:ItemShow_Create(parent, "advanced_item", 200, 200, advancedItemData)
-- 设置道具的锚点为中心
GUI:setAnchorPoint(advancedItem, 0.5, 0.5)
-- 可以添加点击事件
GUI:addOnClickEvent(advancedItem, function()
SL:Print("点击了道具", advancedItemData.index)
end)
```
**注意事项:**
1. 道具索引必须有效,对应游戏中的道具配置
2. 如果设置 `look = true`,玩家可以点击查看道具详情
3. 道具数量会显示在图标右下角
4. 建议将道具控件放在背景容器中,便于布局和管理
这样创建的道具空间会自动显示对应的道具图标、数量,并支持查看功能!
← 返回问答库