帮我写一个装备图鉴收集
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-06-09 21:39:01 |
👁️ 阅读: 3
根据你提供的资料,我可以帮你创建一个装备图鉴收集界面。我会使用图鉴配置文件中的数据和UI创建函数来构建这个功能。
```lua
-- 创建图鉴主界面
local function createCollectionUI()
-- 创建父窗口
local parent = GUI:Win_Create("CollectionMain", 0, 0, 0, 0, false, false, true, false, false, false, 1)
-- 创建背景图片
local bgImage = GUI:Image_Create(parent, "bg_image", 0, 0, "res/public_win32/1900000610.png")
GUI:setContentSize(bgImage, 800, 600)
GUI:setAnchorPoint(bgImage, 0.5, 0.5)
GUI:setPosition(bgImage, 400, 300)
-- 创建标题
local titleText = GUI:Text_Create(parent, "Text_title", 400, 550, 32, "#ffffff", "装备图鉴收集")
GUI:Text_enableOutline(titleText, "#000000", 1)
GUI:setAnchorPoint(titleText, 0.5, 0.5)
-- 创建关闭按钮
local btnClose = GUI:Button_Create(parent, "btn_close", 750, 550, "res/public/1900000612.png")
GUI:Button_setTitleText(btnClose, "X")
GUI:Button_setTitleFontSize(btnClose, 20)
GUI:Button_setTitleColor(btnClose, "#ffffff")
GUI:setContentSize(btnClose, 40, 40)
GUI:setAnchorPoint(btnClose, 0.5, 0.5)
-- 创建图鉴列表容器
local listView = GUI:ListView_Create(parent, "list_view", 100, 100, 600, 400)
GUI:setDirection(listView, 0) -- 垂直方向
-- 添加关闭按钮点击事件
GUI:addOnClickEvent(btnClose, function()
GUI:removeFromParent(parent)
end)
-- 加载图鉴数据
loadCollectionData(listView)
return parent
end
-- 加载图鉴数据
local function loadCollectionData(listView)
-- 这里模拟加载图鉴数据,实际开发中应从配置文件读取
local collectionData = {
{title = "我命由我不由天", items = {
"图鉴:海德拉",
"图鉴:先驱者·索亚",
"图鉴:原·神",
"图鉴:无相·尊者"
}},
{title = "神之力", items = {
"图鉴:厄波克",
"图鉴:暮光星灵",
"图鉴:瓦罗兰之神",
"图鉴:战争之王",
"图鉴:曙光女神",
"图鉴:皎月女神",
"图鉴:铸星龙王"
}},
{title = "符文使者", items = {
"图鉴:符文☆☆☆残月之肃",
"图鉴:符文☆☆☆传知者",
"图鉴:符文☆☆☆真知者",
"图鉴:符文☆☆☆飞升者"
}},
{title = "巨★神", items = {
"图鉴:巨神兽",
"图鉴:艾比克",
"图鉴:褟牟"
}}
}
-- 创建每个图鉴分类
for _, category in ipairs(collectionData) do
-- 创建分类标题
local titleItem = GUI:Widget_Create(nil, "title_widget", 0, 0, 600, 50)
local titleText = GUI:Text_Create(titleItem, "category_title", 10, 25, 24, "#ffcc00", category.title)
GUI:Text_enableOutline(titleText, "#000000", 1)
GUI:setAnchorPoint(titleText, 0, 0.5)
-- 添加到列表
GUI:ListView_pushBackCustomItem(listView, titleItem)
-- 创建该分类下的所有图鉴项
for _, itemName in ipairs(category.items) do
local itemWidget = createCollectionItem(itemName)
GUI:ListView_pushBackCustomItem(listView, itemWidget)
end
end
end
-- 创建单个图鉴项
local function createCollectionItem(itemName)
local itemWidget = GUI:Widget_Create(nil, "item_widget", 0, 0, 600, 60)
-- 创建背景
local itemBg = GUI:Image_Create(itemWidget, "item_bg", 0, 0, "res/public/1900000612.png")
GUI:setContentSize(itemBg, 580, 50)
GUI:setAnchorPoint(itemBg, 0, 0)
GUI:setOpacity(itemBg, 150)
-- 创建图鉴名称
local nameText = GUI:Text_Create(itemWidget, "item_name", 20, 25, 18, "#ffffff", itemName)
GUI:setAnchorPoint(nameText, 0, 0.5)
-- 创建收集状态
local statusText = GUI:Text_Create(itemWidget, "item_status", 500, 25, 16, "#00ff00", "已收集")
GUI:setAnchorPoint(statusText, 1, 0.5)
-- 添加点击效果
local function onItemClick()
SL:print("查看图鉴详情:" .. itemName)
-- 这里可以添加查看详情的逻辑
local scaleAction = GUI:ActionSequence(
GUI:ActionScaleTo(0.1, 1.1),
GUI:ActionScaleTo(0.1, 1.0)
)
GUI:runAction(itemWidget, scaleAction)
end
GUI:addOnClickEvent(itemWidget, onItemClick)
return itemWidget
end
-- 使用示例
local collectionUI = createCollectionUI()
```
这个装备图鉴收集界面包含以下功能:
1. **主界面**:使用指定背景图片创建窗口
2. **标题显示**:显示"装备图鉴收集"标题
3. **关闭按钮**:使用指定按钮图片,点击可关闭界面
4. **图鉴列表**:按分类显示各种装备图鉴
5. **图鉴项**:显示图鉴名称和收集状态
6. **点击效果**:点击图鉴项有缩放动画效果
界面中的图鉴数据来自你提供的配置资料,包括:
- 我命由我不由天系列
- 神之力系列
- 符文使者系列
- 巨★神系列
每个图鉴项都显示名称和收集状态,点击可以查看详情。你可以根据需要修改图鉴数据来源,比如从服务器获取玩家的收集进度。
← 返回问答库