如何在视频中插入Avatar SDK生成的动画形象

本文介绍了如何使用AvatarSDK工具在视频中添加酷炫动画,包括下载素材、生成模型、插入视频、美化渲染等步骤,无需专业技能即可实现有趣视频效果。

想要在视频中加入一些酷炫的动画形象吗?今天我会教你如何使用Avatar SDK这个工具轻松做到!

步骤1:在视频网站中下载素材

首先,打开你的视频网站,点击截图按钮。保存在下载文件夹下。

步骤2:去Avatar SDK网站生成动画

打开https://webdemo.avatarsdk.com/ 这个网站,点击Browse For Photo然后上传第一步下载的图像文件。
在这里插入图片描述

步骤3:生成模型

点击Generate 按钮,这个动画形象就制作完成了!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

步骤4:插入动画到视频

回到剪映中,点击上传刚才导出的MP4文件,插入到原有视频中合适的位置。调整动画的时间长度,使其与视频自然衔接。

步骤5:美化和渲染

最后你可以添加一些简单的过渡效果,让整个视频更流畅统一。再经过渲染输出,就可以上传到视频平台分享了!

是不是很简单?Avatar SDK让我们无需专业动画技能,也可以为视频添加生动有趣的动画效果。快来尝试下吧!

请让我知道如果需要修改或添加补充内容。我会继续完善这篇使用博客。

local base = require "K3Lua.Base.LuaPanelEx" ---@class Logics.NewServerActivity.EightGatesPanel : LuaPanel local luaPanel = Class("EightGatesPanel", base) function luaPanel:LoadOkInit(panel) -- 初始化卦象物品面板 self.ItemPanel = { [1] = self:getItembox(131), [2] = self:getItembox(132), [3] = self:getItembox(133), [4] = self:getItembox(134), [5] = self:getItembox(135), [6] = self:getItembox(136), [7] = self:getItembox(137), [8] = self:getItembox(138) } -- 左侧物品面板 self.LeftItem = { [1] = {self:getItembox(161), self:getItembox(162)}, [2] = {self:getItembox(167), self:getItembox(168)}, [3] = {self:getItembox(173), self:getItembox(174)} } -- self.rightItem = { -- [1] = {self:getItembox(182), self:getItembox(185), self:getItembox(187), self:getItembox(189)}, -- [2] = {self:getItembox(193), self:getItembox(195), self:getItembox(197), self:getItembox(199)}, -- [3] = {self:getItembox(203), self:getItembox(205), self:getItembox(207), self:getItembox(209)} -- } -- 已购买标识 self.yiBuy = { [1] = {self:getImage(216), self:getImage(217), self:getImage(228), self:getImage(229)}, [2] = {self:getImage(220), self:getImage(221), self:getImage(222), self:getImage(223)}, [3] = {self:getImage(224), self:getImage(225), self:getImage(226), self:getImage(227)} } self.ani_group = { self:getAnimation(276), self:getAnimation(277), self:getAnimation(278), self:getAnimation(279), self:getAnimation(280), self:getAnimation(281), self:getAnimation(282), self:getAnimation(283) } -- 动画控制变量 self.animSequence = {} -- 动画播放序列 self.currentAnimIndex = 1 -- 当前播放的动画索引 self.isPlayingAnim = false -- 是否正在播放动画 self.winPosition = 0 -- 中奖位置 self.drawnPositions = {} -- 已抽中的位置 self.remainingPositions = {} -- 剩余未抽中的位置 -- 初始化所有卦象为暗状态 for i = 1, 8 do self.ani_group[i]:Stop() self.ani_group[i]:SetVisible(false) self["lightImage" .. i] = self["oneimage"] -- 这里需要根据实际图片变量名调整 end self.yiBuy1 = { [1] = self:getImage(216), [2] = self:getImage(217), [3] = self:getImage(228), [4] = self:getImage(229) } self.yiBuy2 = { [1] = self:getImage(220), [2] = self:getImage(221), [3] = self:getImage(222), [4] = self:getImage(223) } self.yiBuy3 = { [1] = self:getImage(224), [2] = self:getImage(225), [3] = self:getImage(226), [4] = self:getImage(227) } -- self.cione = self:getLabel(230) -- self.citwo = self:getLabel(231) -- self.cithree = self:getLabel(232) -- self.zhiBuy:AddEventListenerForLua(function () -- if not self.allGiftState <= 0 then -- self:SDKBuy() -- else -- K3UIManager.Instance:AddHintMsg("您已进阶,不能重复进阶!") -- end -- end) self.istypebtn = false self.sipriceimage = self:getImage(105) self.sigetimage = self:getImage(107) self.pricesinan = self:getLabel(245) self.onebtn = self:getButton(165) self.twobtn = self:getButton(171) self.threebtn = self:getButton(177) self.oneimage = self:getImage(260) self.twoimage = self:getImage(261) self.threeimage = self:getImage(262) self.fourimage = self:getImage(263) self.fiveimage = self:getImage(264) self.siximage = self:getImage(265) self.siveimage = self:getImage(266) self.enightimage = self:getImage(267) local function bindGiftButton(btnIndex, giftIndex, sdkBuyFunc) local btn = self:getButton(btnIndex) btn:AddEventListenerForLua( function() if self.zhugouitem and self.zhugouitem[giftIndex] and self.zhugouitem[giftIndex].giftIdState then K3UIManager.Instance:AddHintMsg("您已购买,不能重复购买!") else sdkBuyFunc() end end ) end -- 绑定三个购买按钮 bindGiftButton( 165, 1, function() self:SDKBuy2() end ) bindGiftButton( 171, 2, function() self:SDKBuy3() end ) bindGiftButton( 177, 3, function() self:SDKBuy4() end ) self.Dabao = self:getButton(268) self.Dabao:AddEventListenerForLua( function() if not self.allGiftIdState and self.istypebtn == false then self:SDKBuy() self.istype = true else K3UIManager.Instance:AddHintMsg("您已进阶,不能重复进阶!") end end ) self.child = {} self.boFree = false self.ntimes = 0 self.flag = 0 self.istype = 0 self.gettype = 0 self.btgetclose = self:getButton(259) self.btgetclose:AddEventListenerForLua( function() self.getpanel:SetVisible(false) end ) self.btnone = self:getButton(103) -- self.btnten = self:getButton(104) self.labgetbtn = self:getLabel(108) -- self.lableijibtn = self:getLabel(153) self.getCheckBoxaim = self:getCheckBox(273) -- self.closetiBox = self:getCheckBox(110) self.getpanel = self:getPanel(141) -- self.Leijipanel = self:getPanel(179) --self.mFloatPanel = self:getPanel(176) self.successanim = self:getAnimation(215) self.zhuPanel = self:getPanel(102) self.sinanimage = self:getImage(270) self.sinanxiaohao = self:getImage(271) self.lijiqianbtn = self:getLabelButton(256) self.lijiqianbtn:AddEventListenerForLua( function() if self.zhugouitem ~= nil then K3UIManager.Instance:GetDialog("ChuMoWeiDaoDialog") end end ) self.labgetbtn:AddEventListenerForLua( function() GameLuaEngine.SendLuaPack("BaMenFenJinTaiDirectInfo") end ) -- self.lableijibtn:AddEventListenerForLua( -- function() -- self.Leijipanel:SetVisible(not self.Leijipanel.IsVisible) -- GameLuaEngine.SendLuaPack("BaMenFenJinTaiPanel") -- end -- ) self.getpanel:SetVisible(false) --self.Leijipanel:SetVisible(false) self.btnone:AddEventListenerForLua( function() self:OneBuy() end ) -- self.btnten:AddEventListenerForLua( -- function() -- self:TwoBuy() -- end -- ) self.getCheckBoxaim:AddChecked( function() self.getCheckBoxaim.isChecked = self.getCheckBoxaim.isChecked local istrue = self.getCheckBoxaim.isChecked == true and 1 or 2 self.xuhao = 1 GameLuaEngine.SendLuaPack("BaMenFenJinTaiSetState", self.xuhao, istrue) end ) -- self.closetiBox:AddChecked( -- function() -- self.closetiBox.isChecked = self.closetiBox.isChecked -- local istrue = self.closetiBox.isChecked == true and 1 or 2 -- self.xuhao1 = 2 -- GameLuaEngine.SendLuaPack("BaMenFenJinTaiSetState", self.xuhao1, istrue) -- end -- ) for i = 1, LuaUtils.GetTabelLen(self.ItemPanel) do self.ItemPanel[i].picName = "sxcf_icon_sx_" .. i .. "_hui" self.ani_group[i]:Stop() end self.boPlayAnim = false -- 是否正在播放 self.boFinishAnim = false end function luaPanel:GenerateRandomSequence() self.remainingPositions = {} -- 收集所有未抽中的位置 for i = 1, 8 do if not self.drawnPositions[i] then table.insert(self.remainingPositions, i) end end -- 如果所有位置都已抽中,重置(根据需求决定是否重置) if #self.remainingPositions == 0 then -- 如果所有位置都已抽中,可以选择重置或者不再抽奖 -- 这里根据需求决定,暂时不重置 return false end -- 随机打乱剩余位置 self.animSequence = self:ShuffleTable(self.remainingPositions) -- 设置中奖位置(最后一个位置为中奖位置) self.winPosition = self.animSequence[#self.animSequence] return true end -- 打乱表格 function luaPanel:ShuffleTable(tbl) local shuffled = {} for i = 1, #tbl do shuffled[i] = tbl[i] end for i = #shuffled, 2, -1 do local j = math.random(i) shuffled[i], shuffled[j] = shuffled[j], shuffled[i] end return shuffled end -- 开始播放抽奖动画 function luaPanel:StartDrawAnimation() if self.isPlayingAnim then K3UIManager.Instance:AddHintMsg("正在抽奖中,请稍候...") return false end -- 生成随机序列 if not self:GenerateRandomSequence() then K3UIManager.Instance:AddHintMsg("所有奖励已抽完!") return false end self.isPlayingAnim = true self.currentAnimIndex = 1 -- 隐藏所有动画 for i = 1, 8 do self.ani_group[i]:Stop() self.ani_group[i]:SetVisible(false) end self.successanim:Stop() self.successanim:SetVisible(false) -- 开始播放序列动画 self:PlayNextAnimation() return true end -- 播放下一个动画 function luaPanel:PlayNextAnimation() if self.currentAnimIndex > #self.animSequence then self:ShowWinAnimation() return end local currentPos = self.animSequence[self.currentAnimIndex] -- 隐藏之前的所有动画 for i = 1, 8 do self.ani_group[i]:SetVisible(false) end -- 显示并播放当前动画(暗-明-暗渐变效果) self.ani_group[currentPos]:SetVisible(true) self.ani_group[currentPos]:Play() -- 特殊处理:根据剩余数量调整播放逻辑 local remainingCount = #self.remainingPositions - (self.currentAnimIndex - 1) if remainingCount == 2 then -- 剩余2个时,下一次就是中奖 self.currentAnimIndex = self.currentAnimIndex + 1 self:DelayedCall( 0.8, function() self:PlayNextAnimation() end ) elseif remainingCount == 1 then -- 剩余1个时,直接播放中奖动画 self:ShowWinAnimation() end end -- 显示中奖动画 function luaPanel:ShowWinAnimation() local winPos = self.winPosition -- 隐藏所有卦象动画 for i = 1, 8 do self.ani_group[i]:SetVisible(false) end -- 播放中奖卦象动画和太极动画同时进行 self.ani_group[winPos]:SetVisible(true) self.ani_group[winPos]:Play() self.successanim:SetVisible(true) self.successanim:Play() -- 标记该位置为已抽中 self.drawnPositions[winPos] = true -- 显示对应的对勾亮起标识 self:UpdateLightState(winPos) -- 动画完成后恢复状态 self:DelayedCall( 2.0, function() self.isPlayingAnim = false self.ani_group[winPos]:SetVisible(false) self.successanim:SetVisible(false) -- 对勾保持显示状态 if self.lightImages[winPos] then self.lightImages[winPos]:SetVisible(true) end -- 抽奖完成,可以显示奖励 self:OnDrawComplete(winPos) end ) end -- function luaPanel:Update() -- -- self:PlayOnceAnim() -- end -- function luaPanel:PlayOnceAnim() -- if self.boPlayAnimType == nil or self.boPlayAnimType ~= 1 then -- return -- end -- if self.boPlayAnim == false or self.boFinishAnim == true then -- return -- end -- if self.changeTime == nil then -- if LuaUtils.GetCsTime() - self.ntimes >= 2 then -- self:ShowResult(self.gongXiHuoDeTab) -- end -- end -- end function luaPanel:OneBuy() if self.clickTime and Time.time - self.clickTime < 0.1 then K3UIManager.Instance:AddHintMsg("点击过快") return end if self.clickTime and Time.time - self.clickTime < 2.5 and self.getCheckBoxaim.isChecked == false then return end self.clickTime = Time.time if self.boFree == true and self.getCheckBoxaim.isChecked == true then self.flag = 1 if self:StartDrawAnimation() then -- 开始播放动画 GameLuaEngine.SendLuaPack("BaMenFenJinTaiRraw", 1) end return end if self.boFree == true and self.getCheckBoxaim.isChecked == false then self.flag = 0 if self:StartDrawAnimation() then -- 开始播放动画 GameLuaEngine.SendLuaPack("BaMenFenJinTaiRraw", 1) end self.istype = 1 return end -- if self.boFree == true and self.getCheckBoxaim.isChecked == true then -- self.flag = 1 -- GameLuaEngine.SendLuaPack("BaMenFenJinTaiRraw", 1) -- return -- end -- if self.boFree == true and self.getCheckBoxaim.isChecked == false and self.closetiBox.isChecked == true then -- self.flag = 0 -- GameLuaEngine.SendLuaPack("BaMenFenJinTaiRraw", 1) -- self.istype = 1 -- return -- end if self.getCheckBoxaim.isChecked == false then self.flag = 0 if self.price >= self.onecostPrice then if self:StartDrawAnimation() then -- 开始播放动画 GameLuaEngine.SendLuaPack("BaMenFenJinTaiRraw", 1) end self.istype = 1 -- local str = string.format("是否消耗<color=#10FF04>%s司南</color>进行一次抽奖?", self.onecostPrice) -- GameLuaEngine.ShowAlert( -- str, -- function() -- if self.price >= self.onecostPrice then -- end -- end, -- "确 定", -- true, -- "温馨提示" -- ) return elseif self.price < self.onecostPrice then self.istype = 0 K3UIManager.Instance:AddHintMsg("道具不足,无法抽奖!") -- local str = string.format("司南不足,是否前往购买?", self.onecostPrice) -- GameLuaEngine.ShowAlert( -- str, -- function() -- GameLuaEngine.SendLuaPack("BaMenFenJinTaiRraw", 1) -- self.getpanel:SetVisible(true) -- end, -- "前 往", -- true, -- "温馨提示" -- ) end return end if self.getCheckBoxaim.isChecked == true then self.flag = 1 if self.price >= self.onecostPrice then GameLuaEngine.SendLuaPack("BaMenFenJinTaiRraw", 1) else -- local str = string.format("司南不足,是否前往购买?", self.onecostPrice) -- GameLuaEngine.ShowAlert( -- str, -- function() -- GameLuaEngine.SendLuaPack("BaMenFenJinTaiRraw", 1) -- self.getpanel:SetVisible(true) -- end, -- "前 往", -- true, -- "温馨提示" -- ) K3UIManager.Instance:AddHintMsg("道具不足,无法抽奖!") end return end -- if self.getCheckBoxaim.isChecked == true then -- self.flag = 1 -- if self.price >= self.onecostPrice then -- GameLuaEngine.SendLuaPack("BaMenFenJinTaiRraw", 1) -- self.istype = 1 -- -- local str = string.format("是否消耗<color=#10FF04>%s司南</color>进行一次抽奖?", self.onecostPrice) -- -- GameLuaEngine.ShowAlert( -- -- str, -- -- function() -- -- if self.price >= self.onecostPrice then -- -- -- -- end -- -- end, -- -- "确 定", -- -- true, -- -- "温馨提示" -- -- ) -- return -- elseif self.price < self.onecostPrice then -- K3UIManager.Instance:AddHintMsg("货币不足,无法购买!") -- local str = string.format("司南不足,是否前往购买?", self.onecostPrice) -- GameLuaEngine.ShowAlert( -- str, -- function() -- GameLuaEngine.SendLuaPack("BaMenFenJinTaiRraw", 1) -- self.getpanel:SetVisible(true) -- end, -- "前 往", -- true, -- "温馨提示" -- ) -- end --end -- if self.closetiBox.isChecked == true then -- self.flag = 0 -- if self.price >= self.onecostPrice then -- GameLuaEngine.SendLuaPack("BaMenFenJinTaiRraw", 1) -- self.istype = 1 -- else -- self.istype = 0 -- local str = string.format("司南不足,是否前往购买?", self.onecostPrice) -- GameLuaEngine.ShowAlert( -- str, -- function() -- GameLuaEngine.SendLuaPack("BaMenFenJinTaiRraw", 1) -- K3UIManager.Instance:AddHintMsg("货币不足,无法购买!") -- self.getpanel:SetVisible(true) -- end, -- "前 往", -- true, -- "温馨提示" -- ) -- end -- end --end -- function luaPanel:TwoBuy() -- if self.clickTime and Time.time - self.clickTime < 0.1 then -- K3UIManager.Instance:AddHintMsg("点击过快") -- return -- end -- if self.clickTime and Time.time - self.clickTime < 2.5 and self.getCheckBoxaim.isChecked == false then -- --K3UIManager.Instance:AddHintMsg("正在抽奖中") -- return -- end -- self.clickTime = Time.time -- if self.boFree == true then -- K3UIManager.Instance:AddHintMsg("当前有剩余免费次数,无法十连抽") -- return -- end -- if self.getCheckBoxaim.isChecked == false and self.closetiBox.isChecked == false then -- self.flag = 0 -- if self.price >= self.tencostPrice then -- local str = string.format("是否消耗<color=#10FF04>%s司南</color>进行一次抽奖?", self.tencostPrice) -- GameLuaEngine.ShowAlert( -- str, -- function() -- if self.price >= self.tencostPrice then -- GameLuaEngine.SendLuaPack("BaMenFenJinTaiRraw", 10) -- self.istype = 1 -- end -- end, -- "确 定", -- true, -- "温馨提示" -- ) -- return -- elseif self.price < self.tencostPrice then -- self.istype = 0 -- local str = string.format("司南不足,是否前往购买?", self.tencostPrice) -- GameLuaEngine.ShowAlert( -- str, -- function() -- GameLuaEngine.SendLuaPack("BaMenFenJinTaiRraw", 10) -- K3UIManager.Instance:AddHintMsg("货币不足,无法购买!") -- self.getpanel:SetVisible(true) -- end, -- "前 往", -- true, -- "温馨提示" -- ) -- end -- return -- end -- if self.getCheckBoxaim.isChecked == true and self.closetiBox.isChecked == true then -- self.flag = 1 -- if self.price >= self.tencostPrice then -- GameLuaEngine.SendLuaPack("BaMenFenJinTaiRraw", 10) -- -- else -- -- local str = string.format("司南不足,是否前往购买?", self.tencostPrice) -- -- GameLuaEngine.ShowAlert( -- -- str, -- -- function() -- -- GameLuaEngine.SendLuaPack("BaMenFenJinTaiRraw", 10) -- -- K3UIManager.Instance:AddHintMsg("货币不足,无法购买!") -- -- self.getpanel:SetVisible(true) -- -- end, -- -- "前 往", -- -- true, -- -- "温馨提示" -- -- ) -- end -- return -- end -- if self.getCheckBoxaim.isChecked == true then -- self.flag = 1 -- if self.price >= self.tencostPrice then -- local str = string.format("是否消耗<color=#10FF04>%s司南</color>进行一次抽奖?", self.tencostPrice) -- -- GameLuaEngine.ShowAlert( -- -- str, -- -- function() -- -- if self.price >= self.tencostPrice then -- -- GameLuaEngine.SendLuaPack("BaMenFenJinTaiRraw", 10) -- -- self.istype = 1 -- -- end -- -- end, -- -- "确 定", -- -- true, -- -- "温馨提示" -- -- ) -- return -- elseif self.price < self.tencostPrice then -- local str = string.format("司南不足,是否前往购买?", self.tencostPrice) -- GameLuaEngine.ShowAlert( -- str, -- function() -- GameLuaEngine.SendLuaPack("BaMenFenJinTaiRraw", 10) -- K3UIManager.Instance:AddHintMsg("货币不足,无法购买!") -- self.getpanel:SetVisible(true) -- end, -- "前 往", -- true, -- "温馨提示" -- ) -- end -- end -- if self.closetiBox.isChecked == true then -- self.flag = 0 -- if self.price >= self.tencostPrice then -- GameLuaEngine.SendLuaPack("BaMenFenJinTaiRraw", 10) -- self.istype = 1 -- else -- self.istype = 0 -- local str = string.format("司南不足,是否前往购买?", self.tencostPrice) -- GameLuaEngine.ShowAlert( -- str, -- function() -- GameLuaEngine.SendLuaPack("BaMenFenJinTaiRraw", 10) -- K3UIManager.Instance:AddHintMsg("货币不足,无法购买!") -- self.getpanel:SetVisible(true) -- end, -- "前 往", -- true, -- "温馨提示" -- ) -- end -- end end function luaPanel:ShowTreasuresReaward(tab) if self.child.PanelMafaMibaoSettle == nil then self.child.PanelMafaMibaoSettle = LuaUtils.ClonePanelEx(self:getPanel(242), "Logics.NewServerActivity.ShowEightAllGoodss") end self.child.PanelMafaMibaoSettle:SetVisible(true) self.child.PanelMafaMibaoSettle:OnScriptMsg(tab) end function luaPanel:ShowGet(tab) self.getpanel:SetVisible(not self.getpanel.IsVisible) end function luaPanel:CheckResultAnim(tab) local count = LuaUtils.GetTabelLen(tab) if self.getCheckBoxaim.isChecked == true then self:ShowResult(tab) else self.boPlayAnimType = 0 if count == 1 then self.boPlayAnimType = 1 self.boPlayAnim = true self.boFinishAnim = false elseif count == 10 then self.boPlayAnimType = 2 self.boPlayAnim = true self.boFinishAnim = false end end end function luaPanel:ShowResult(msg) if self.boPlayAnim == true then self.changeTime = nil self.boPlayAnim = false self.boFinishAnim = true self.boPlayAnimType = 0 self.playAnimTimes = 0 self.playAnim2Time = nil end if self.flag == 1 then self:ShowTreasuresReaward(msg) end end function luaPanel:SetInfo(data, i, func) self.info = data -- 获取奖池数据 self.sinanimage:SetBaseInfo(self.info.allTab.drawNeedItemId) self.sinanxiaohao:SetBaseInfo(self.info.allTab.drawNeedItemId) self.price = getitemorcoinnum(self.info.allTab.drawNeedItemId or 0, 0) or 0 if self.price >= self.info.allTab.drawOneCount then self.pricesinan.text = string.format("<color=#13C144>%s</color>%s", self.price, "/" .. self.info.allTab.drawOneCount) else self.pricesinan.text = string.format("<color=#ED1111>%s</color>%s", self.price, "/" .. self.info.allTab.drawOneCount) end if self.info.gongXiHuoDeTab ~= nil then self.gongXiHuoDeTab = {self.jiangChiData[self.info.gongXiHuoDeTab].item} end if self.info.gongXiHuoDeTab ~= nil then if self.istype == 1 then self.successanim:Stop() self.successanim:Play( 1.5, function() self:ShowTreasuresReaward(self.gongXiHuoDeTab) end ) end self:CheckResultAnim(self.gongXiHuoDeTab) self.istype = 0 end self.zhugouitem = self.info.allTab and self.info.allTab.direct if self.zhugouitem ~= nil then self:ShowGet(self.BaMenFenJinTaiDirectInfo) self.onebtn.text = self.zhugouitem[1].giftIdPrice .. "元购买" self.twobtn.text = self.zhugouitem[2].giftIdPrice .. "元购买" self.threebtn.text = self.zhugouitem[3].giftIdPrice .. "元购买" self:GetZhiGou() elseif self.zhugouitem == nil then self.getpanel:SetVisible(false) end if func == false then self.onecostPrice = self.info.allTab.drawOneCount self.tencostPrice = self.info.allTab.drawTenCount end self.jiangChiData = self.info.allTab and self.info.allTab.jiangChi if self.jiangChiData then for index = 1, 8 do local itemPanel = self.ItemPanel[index] if itemPanel then -- 获取对应的奖池物品数据 local itemData = self.jiangChiData[index] if itemData then self:SetItemInfo(itemPanel, itemData, index) else itemPanel[index]:SetVisible(false) end end end end if self.jiangChiData then for index = 1, 8 do local itemData = self.jiangChiData[index] if index == 1 and itemData.hasDraw == true then self.oneimage:SetVisible(true) elseif index == 2 and itemData.hasDraw == true then self.twoimage:SetVisible(true) elseif index == 3 and itemData.hasDraw == true then self.threeimage:SetVisible(true) elseif index == 4 and itemData.hasDraw == true then self.fourimage:SetVisible(true) elseif index == 5 and itemData.hasDraw == true then self.fiveimage:SetVisible(true) elseif index == 6 and itemData.hasDraw == true then self.siximage:SetVisible(true) elseif index == 7 and itemData.hasDraw == true then self.siveimage:SetVisible(true) elseif index == 8 and itemData.hasDraw == true then self.enightimage:SetVisible(true) end end end -- if zhugouitem then -- for row = 1, 3 do -- for col = 1, 4 do -- local rightItem = self.rightItem[row] and self.rightItem[row][col] -- if rightItem then -- -- 获取对应的奖池物品数据 -- local itemData = zhugouitem[row] and zhugouitem[row].item and zhugouitem[row].item[col] -- if itemData then -- self:SetLeiJi(rightItem, itemData, row) -- end -- end -- end -- end -- end if self.zhugouitem then for row = 1, 3 do for col = 1, 4 do local LeftItem = self.LeftItem[row] and self.LeftItem[row][col] if LeftItem then -- 获取对应的奖池物品数据 local itemData = self.zhugouitem[row] and self.zhugouitem[row].item and self.zhugouitem[row].item[col] if itemData then self:SetLeiJi(LeftItem, itemData, row) end end end end end self.getCheckBoxaim.isChecked = self.info.tiaoGuoState -- self.closetiBox.isChecked = info.buyState self.tab = {} self.count = LuaUtils.GetTabelLen(self.info.globalTxtTab) for i = 1, self.count do self.tab[i] = self.info.globalTxtTab[self.count - i + 1] end -- self.cione.text = self.info.allTab.drawCount .. "/" .. self.info.allTab.leiJi[1].cnt -- self.citwo.text = self.info.allTab.drawCount .. "/" .. self.info.allTab.leiJi[2].cnt -- self.cithree.text = self.info.allTab.drawCount .. "/" .. self.info.allTab.leiJi[3].cnt -- if self.info.allTab.drawCount>=self.info.allTab.leiJi[1].cnt then -- self.onebtn.picName="btn_com_huang" -- self.onebtn.text="领取" -- self.info.allTab.drawCount=self.info.allTab.leiJi[1].cnt -- elseif self.info.allTab.drawCount>=self.info.allTab.leiJi[2].cnt then -- self.twobtn.picName="btn_com_huang" -- self.twobtn.text="领取" -- self.info.allTab.drawCount=self.info.allTab.leiJi[2].cnt -- end -- if self.onebtn.text=="领取" then -- self.onebtn:AddEventListener(function() -- self.onebtn.picName="xfth_widget_ygm" -- self.onebtn.text="" -- end) -- end self:RefreshListView(self.count, self.tab) end function luaPanel:GetZhiGou() self.cmdproduct = Product.New() self.cmdproduct.productID = "com.qk.gold" .. self.info.allTab.direct.allGiftId self.cmdproduct.money = self.info.allTab.direct.allGiftPrice self.cmdproduct.yuanbaoCount = 0 self.cmdproduct.productName = "八门金锁购买" self.cmdproduct.itemCount = 1 self.cmdproduct.descri = self.info.allTab.direct.allGiftPrice .. self.cmdproduct.productName self.cmdproduct.giftId = self.info.allTab.direct.allGiftId self.allGiftIdState = self.info.allTab.direct.allGiftIdState self.allGiftid = self.info.allTab.direct.allGiftId self.allGiftPrice = self.info.allTab.direct.allGiftPrice if self.allGiftIdState == true then for _, imageGroup in ipairs(self.yiBuy) do for _, image in ipairs(imageGroup) do image:SetVisible(true) end end self.onebtn.picName = "xfhd_widget_ylq" self.twobtn.picName = "xfhd_widget_ylq" self.threebtn.picName = "xfhd_widget_ylq" self.onebtn.text = " " self.twobtn.text = " " self.threebtn.text = " " self.istypebtn = true self.Dabao.picName = "bmfjt_btn_dbgm_hui" self.Dabao.text = " " self.onebtn.IsDoScale = false self.twobtn.IsDoScale = false self.threebtn.IsDoScale = false self.Dabao.IsDoScale = false end -- 初始化 3 个子礼包的独立 cmdproduct(关键修改点!) self.cmdproduct1 = Product.New() -- 对应 SDKBuy2(礼包1) self.cmdproduct2 = Product.New() -- 对应 SDKBuy3(礼包2) self.cmdproduct3 = Product.New() -- 对应 SDKBuy4(礼包3) -- 遍历 LeftItem 数据(假设 LeftItem 结构为 [行][列],行号 1~3 对应 3 个子礼包) for row = 1, #self.LeftItem do local giftData = self.info.allTab.direct[row] -- 获取第 row 行的礼包数据 if giftData then -- 根据行号赋值给对应的 cmdproduct if row == 1 then -- 礼包1:绑定到 cmdproduct1(供 SDKBuy2 使用) self.cmdproduct1.productID = "com.qk.gold" .. giftData.giftid self.cmdproduct1.money = giftData.giftIdPrice self.cmdproduct1.yuanbaoCount = 0 self.cmdproduct1.productName = "八门金锁购买(礼包1)" self.cmdproduct1.itemCount = 1 self.cmdproduct1.descri = giftData.giftIdPrice .. self.cmdproduct1.productName self.cmdproduct1.giftId = giftData.giftid if giftData.giftIdState == true then self.onebtn.picName = "xfhd_widget_ylq" self.onebtn.text = " " self.Dabao.picName = "bmfjt_btn_dbgm_hui" self.onebtn.IsDoScale = false self.Dabao.IsDoScale = false self.Dabao.text = " " self.istypebtn = true for i, v in ipairs(self.yiBuy1) do v:SetVisible(true) end end elseif row == 2 then -- 礼包2:绑定到 cmdproduct2(供 SDKBuy3 使用) self.cmdproduct2.productID = "com.qk.gold" .. giftData.giftid self.cmdproduct2.money = giftData.giftIdPrice self.cmdproduct2.yuanbaoCount = 0 self.cmdproduct2.productName = "八门金锁购买(礼包2)" self.cmdproduct2.itemCount = 1 self.cmdproduct2.descri = giftData.giftIdPrice .. self.cmdproduct2.productName self.cmdproduct2.giftId = giftData.giftid if giftData.giftIdState == true then self.twobtn.picName = "xfhd_widget_ylq" self.Dabao.picName = "bmfjt_btn_dbgm_hui" self.twobtn.text = " " self.twobtn.IsDoScale = false self.Dabao.IsDoScale = false self.Dabao.text = " " self.istypebtn = true for i, v in ipairs(self.yiBuy2) do v:SetVisible(true) end end elseif row == 3 then -- 礼包3:绑定到 cmdproduct3(供 SDKBuy4 使用) self.cmdproduct3.productID = "com.qk.gold" .. giftData.giftid self.cmdproduct3.money = giftData.giftIdPrice self.cmdproduct3.yuanbaoCount = 0 self.cmdproduct3.productName = "八门金锁购买(礼包3)" self.cmdproduct3.itemCount = 1 self.cmdproduct3.descri = giftData.giftIdPrice .. self.cmdproduct3.productName self.cmdproduct3.giftId = giftData.giftid if giftData.giftIdState == true then self.threebtn.picName = "xfhd_widget_ylq" self.Dabao.picName = "bmfjt_btn_dbgm_hui" self.threebtn.text = " " self.threebtn.IsDoScale = false self.Dabao.IsDoScale = false self.Dabao.text = " " self.istypebtn = true for i, v in ipairs(self.yiBuy3) do v:SetVisible(true) end end end end end self.zhugouitem.giftid = self.info.allTab.direct.giftid self.zhugouitem.giftldPrice = self.info.allTab.direct.giftldPrice end function luaPanel:SDKBuy() if self.cmdproduct then if UserInfo.Instance.isThirdPlatform then SDKFunction.Instance:Pay(self.cmdproduct) else GameLuaEngine.SendLuaPack("TestSendDirectBuy", self.allGiftid, tostring(self.allGiftPrice)) end end end function luaPanel:SDKBuy2() if self.cmdproduct1 then -- 改为 cmdproduct1(对应礼包1) if UserInfo.Instance.isThirdPlatform then SDKFunction.Instance:Pay(self.cmdproduct1) -- 支付礼包1的配置 else GameLuaEngine.SendLuaPack( "TestSendDirectBuy", self.zhugouitem[1].giftid, tostring(self.zhugouitem[1].giftIdPrice) -- 修正为 giftIdPrice ) end else print("SDKBuy2 失效:cmdproduct1 未初始化!") -- 调试日志(可选) end end function luaPanel:SDKBuy3() if self.cmdproduct2 then -- 改为 cmdproduct2(对应礼包2) if UserInfo.Instance.isThirdPlatform then SDKFunction.Instance:Pay(self.cmdproduct2) -- 支付礼包2的配置 else GameLuaEngine.SendLuaPack( "TestSendDirectBuy", self.zhugouitem[2].giftid, tostring(self.zhugouitem[2].giftIdPrice) -- 修正为 giftIdPrice ) end else print("SDKBuy3 失效:cmdproduct2 未初始化!") -- 调试日志(可选) end end function luaPanel:SDKBuy4() if self.cmdproduct3 then -- 改为 cmdproduct3(对应礼包3) if UserInfo.Instance.isThirdPlatform then SDKFunction.Instance:Pay(self.cmdproduct3) -- 支付礼包3的配置 else GameLuaEngine.SendLuaPack( "TestSendDirectBuy", self.zhugouitem[3].giftid, tostring(self.zhugouitem[3].giftIdPrice) -- 修正为 giftIdPrice ) end else print("SDKBuy4 失效:cmdproduct3 未初始化!") -- 调试日志(可选) end end function luaPanel:SetLeiJi(itemPanel, itemdata, index) local itemid = itemdata.itemId itemPanel:SetBaseInfo(itemid) if itemid then itemPanel:SetBaseInfo(itemdata.itemId, itemdata.num, itemdata.bind ~= nil and itemdata.bind == 1) else itemPanel.picName = "itemicon_default" end end function luaPanel:SetItemInfo(itemPanel, itemData, index) local itemid = itemData.item.itemId itemPanel:SetBaseInfo(itemid) if itemid then itemPanel:SetBaseInfo( itemData.item.itemId, itemData.item.num, itemData.item.bind ~= nil and itemData.item.bind == 1 ) else -- 如果没有itemid,使用默认图标或根据index设置 itemPanel[index]:SetVisible(false) itemPanel.picName = "itemicon_default" end end return luaPanel 表现效果需要处理成:每次只亮一个卦象、三侧的边框和两侧的灯,亮起要一个暗-明-暗渐变的过程(4~8帧) 原太极放光的特效单独切一个 每个卦象亮起状态的静态效果 一个卦象亮起时,其他卦象处于暗的状态(已抽中的保持亮起状态) 抽奖效果为随机位置卦象明暗播放(未亮起的卦象,第一次抽取需全部明暗一次) 中奖效果为第三次卦像和中间太极发光特效同时播放(卦象特效播放完成后,替换为亮起状态) 当剩余未二时,第二次卦象播放中奖特效 当剩余为一时,直接播放卦象明暗和太极中奖特效 随机顺序播放,定义下位置(1~8),播放的时候先随机下播放顺序(比方 24651378 这样),按随机的顺序播放 有被抽到的奖励的时候,从里面拿掉,如1被抽过了,下一次就是(2~8)随机,比如随到了(5487632) 随到后就一直亮着,下次抽跳过 self.successanim = self:getAnimation(215)这个是中间太极发光特效 self.ani_group = { self:getAnimation(276), self:getAnimation(277), self:getAnimation(278), self:getAnimation(279), self:getAnimation(280), self:getAnimation(281), self:getAnimation(282), self:getAnimation(283) }这个是卦象特效 self.oneimage = self:getImage(260) self.twoimage = self:getImage(261) self.threeimage = self:getImage(262) self.fourimage = self:getImage(263) self.fiveimage = self:getImage(264) self.siximage = self:getImage(265) self.siveimage = self:getImage(266) self.enightimage = self:getImage(267)这个这是item的一个抽完的江之后的对勾的图片,特效和他没有关系 self:ShowTreasuresReaward(self.gongXiHuoDeTab)这个是抽完奖展示奖品的面板,麻烦根据修改的特效,放到合适的位置 亮起要一个暗-明-暗渐变的过程(4~8帧)是特效给的播放特效就可以,4~8帧需要自己调 根据这写需求更改一下,现在特效
最新发布
09-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值