GUI:addOnClickEvent(child, function()
-- 移除之前显示的克隆组件
if npc.currentClone and not GUI:Win_IsNull(npc.currentClone) then
GUI:removeFromParent(npc.currentClone)
npc.currentClone = n
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-05-29 20:54:10 |
👁️ 阅读: 4
根据浮生梦老师前端课程内容,`GUI:ActionScaleBy` 函数用于在原有基础上进行缩放。你需要为 `newPanel` 组件添加缩放动作。
在你的点击事件回调函数中,可以这样添加缩放动画:
```lua
GUI:addOnClickEvent(child, function()
-- 移除之前显示的克隆组件
if npc.currentClone and not GUI:Win_IsNull(npc.currentClone) then
GUI:removeFromParent(npc.currentClone)
npc.currentClone = nil
end
-- 克隆新的Panel
local newPanel = GUI:Clone(npc.ui.Panel_1)
GUI:setVisible(newPanel, true)
-- 插入到当前按钮后面
local itemIndex = GUI:ListView_getItemIndex(npc.ui.ListView_1, child)
GUI:ListView_insertCustomItem(npc.ui.ListView_1, newPanel, itemIndex + 1)
-- 记录当前克隆组件
npc.currentClone = newPanel
-- 添加缩放动画
-- ActionScaleBy参数:时间,缩放比例
local scaleAction = GUI:ActionScaleBy(0.2, 1.5) -- 放大到150%
GUI:runAction(newPanel, GUI:ActionSequence(
scaleAction,
GUI:DelayTime(0.1), -- 保持放大状态0.1秒
GUI:ActionScaleBy(0.2, 0.6667) -- 缩小回原始大小(1/1.5)
))
SL:print("点击了按钮:", name, "插入位置:", itemIndex + 1)
end)
```
注意:`GUI:ActionScaleBy` 的第一个参数是时间(秒),第二个参数是缩放比例(百分比值,1.0表示100%)。放大1.5倍就是150%,缩小回原始大小需要乘以0.6667(即1/1.5)。
根据浮生梦老师前端课程内容,`GUI:ActionScaleBy` 函数用于在原有基础上进行缩放。你需要为 `newPanel` 组件添加缩放动作。
在你的点击事件回调函数中,可以这样添加缩放动画:
```lua
GUI:addOnClickEvent(child, function()
-- 移除之前显示的克隆组件
if npc.currentClone and not GUI:Win_IsNull(npc.currentClone) then
GUI:removeFromParent(npc.currentClone)
npc.currentClone = nil
end
-- 克隆新的Panel
local newPanel = GUI:Clone(npc.ui.Panel_1)
GUI:setVisible(newPanel, true)
-- 插入到当前按钮后面
local itemIndex = GUI:ListView_getItemIndex(npc.ui.ListView_1, child)
GUI:ListView_insertCustomItem(npc.ui.ListView_1, newPanel, itemIndex + 1)
-- 记录当前克隆组件
npc.currentClone = newPanel
-- 添加缩放动画
-- ActionScaleBy参数:时间,缩放比例
local scaleAction = GUI:ActionScaleBy(0.2, 1.5) -- 放大到150%
GUI:runAction(newPanel, GUI:ActionSequence(
scaleAction,
GUI:DelayTime(0.1), -- 保持放大状态0.1秒
GUI:ActionScaleBy(0.2, 0.6667) -- 缩小回原始大小(1/1.5)
))
SL:print("点击了按钮:", name, "插入位置:", itemIndex + 1)
end)
```
注意:`GUI:ActionScaleBy` 的第一个参数是时间(秒),第二个参数是缩放比例(百分比值,1.0表示100%)。放大1.5倍就是150%,缩小回原始大小需要乘以0.6667(即1/1.5)。
← 返回问答库