CHUAN2 DEV ENGINE
996 正版授权研发中心 · 360 授权合作教学中心 · 抖音传奇直播合作授权 · 快手推广运营商授权
OFFICIAL LICENSED ACADEMY 查验官方授权证书 →
// 威海旷世互娱教学基地 · 技术文章
进阶实战游戏功能996引擎

鞭炮连响:一个点着一串响

2026-09-28 22:57 作者:996 技术组 996引擎Lua教程传奇脚本进阶实战游戏功能996引擎

【游戏功能】

鞭炮的听觉冲击是数学的:一个响是点缀,一百个连响是洪流——火头沿着引信串一路烧下去,响声密集到连成一片。今天拆鞭炮连响的表现,看"串烧式引爆"怎么做出过年的气势。

一、点引、串烧、收尾三段连响

鞭炮的连响三段。点引段:火头在引信起点噙着火星晃动,晃两晃窜上引信串——火头是全场唯一的光源焦点,它的位置就是观众的视线锚点。串烧段:火头沿蛇形排列的引信一路烧下去,烧过一个炸一个,鞭炮从红炸成焦黑——炸过的鞭炮留下焦壳是"已经响过"的账本,整串的进度一目了然。收尾段:烧到串尾的大红二踢脚,双响连炸收尾——末尾的大响比前面的单响响亮一倍,火光也更盛。三段的节奏是匀速串烧加爆发收尾:匀速让听众稳定期待,爆发让期待一次性兑现。

完整演示在这,点引信开烧:

demo
fx-firecracker

二、幂尔框架实现:火头行进与逐个引爆

火头按固定步频推进,烧过的鞭炮逐个引爆:

lua
local Firecracker = {}
local KEY = { STEP = 0.16, TOTAL = 14 }

local fuseX, burnt = 60, 0

function FC.Light()
    if SL:GetValue("burning") then return end
    SL:SetValue("burning", true)
    burnt = 0
    fuseX = 60
    SL:Schedule(function(dt)
        SL:SetValue("popT", SL:GetValue("popT") - dt)
        if SL:GetValue("popT") <= 0 then
            SL:SetValue("popT", KEY.STEP)
            fuseX = fuseX + 38
            burnt = burnt + 1
            local fy = SL:GetValue("fuseY", fuseX)
            SL:PlayFxAt("firecracker_pop", fuseX, fy)
            SL:PlayBurst(fuseX, fy, "fire_bits", 7)
            SL:PlaySfx("pop", burnt % 4)
            -- 串尾: 二踢脚双响
            if fuseX >= SL:GetValue("width") - 100 then
                FC.Finale()
                SL:UnSchedule("fuseBurn")
            end
        end
        -- 火头光斑跟随
        SL:SetFxPos("fuse_spark", fuseX, SL:GetValue("fuseY", fuseX))
    end, 0.016, "fuseBurn")
end

function FC.Finale()
    -- 二踢脚双响: 两声连爆各配一圈冲击
    SL:ScheduleOnce(function()
        SL:PlayFxAt("big_pop", SL:GetValue("width") - 70, 120)
        SL:ScreenShake(0.3, 5)
    end, 0.15)
    SL:ScheduleOnce(function()
        SL:PlayFxAt("big_pop2", SL:GetValue("width") - 60, 160)
        SL:ScreenShake(0.36, 6)
        SL:SetValue("burning", false)
        SL:ShowSystemTips("这串够响!")
    end, 0.4)
end

return FC

步频零点一六秒一个响是"连成一片"的临界值:再慢就听得出单个的间隔,再快就是一锅粥。

三、烧过的焦壳与二踢脚的体面

烧过的鞭炮留焦壳:红色炸成焦黑、挂纸耷拉下来——焦壳是"响过"的凭证,整串烧完半串红半串黑,进度不需要进度条。二踢脚的收尾要双响:第一响上蹿第二响在半空,两声间隔零点二五秒——二踢脚是整串的灵魂,没有它这串鞭炮只是匀速的噪音。引信长度的滑块控制总响数:响数越多收尾越盛大,但密度不变——密度恒定、时长可变,鞭炮的气势就不失控。最后,红鞭炮的配色红金相间:红色炮身金色封皮,炸响的金光是封皮色的延续——色彩有传承,爆炸才有出处。

作者履历与出处

本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。

← 返回文章地图返回研学路径

幂尔框架 · 实战干货 · 接口调用

LATEST ARTICLES

全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →

进阶实战游戏功能

围三阙一:围三面赶一口,出口就是网口

【游戏功能】 围住一只怪的贪心人人都有:三面堵死一只不漏——可围三阙一的规矩偏偏唱反调:围三面留一口,怪只会往那口里钻——口…

2026-09-30 21:31 996 技术组
进阶实战游戏功能

引水:先泼水,再借一道雷

【游戏功能】 元素搭配的老话是水火不容,可战场上的说法得倒过来念:水是雷的引信。引水的机制是一场两步的合谋:先泼一瓢水把地泼…

2026-09-30 21:31 996 技术组
进阶实战游戏功能

血珠:踩碎血珠,断它口粮

【游戏功能】 低血大怪的回血机制人人见过,可血珠的回血藏着一手"要你去抢"的心机:它每掉两成血就吐一颗血珠在地上,两秒内不踩…

2026-09-30 21:31 996 技术组
进阶实战游戏功能

现身:它钻进影子,从你背后出来

【游戏功能】 隐形怪人人都遇到过,可现身的机制比隐形狠:它钻进影子里消失,一秒后从你脚下画的影圈里钻出来,背刺三十四点——影…

2026-09-30 21:31 996 技术组
进阶实战游戏功能

召唤阵:踩阵搅了它的援兵

【游戏功能】 有人纳闷:大怪危机预警里最气人的一档是什么?不是它放大招,是它开阵——法阵一转,转满三秒蹦出两只小狼,好好的单…

2026-09-30 21:31 996 技术组
进阶实战游戏功能

蓄力炮:红线锁死就横挪

【游戏功能】 if chg <= 0.8 then lock = true ——一行把"锁定"写进蓄力里的判定,道破了蓄力炮…

2026-09-30 21:31 996 技术组