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

火折子:吹口气照亮夜路

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

【游戏功能】

火折子是古代的手电筒:吹口气火苗窜起照亮夜路——吹一口气就能复燃的火种,是古代人随身携带的光。今天拆火折子的表现,看"复燃"这个动作怎么做出夜路的温度感。

一、吹气、复燃、照亮三段点亮

火折子的点亮三段。吹气段:对着封存的火折子吹口气,纸卷里的火种被氧气激发——吹气的动作是全场的按钮:按一下,火就活了。复燃段:火苗从纸卷顶部窜起,从暗到亮的渐变——复燃的渐变是火折子的灵魂:火苗不是瞬间满高,是从火种慢慢长到满高。照亮段:火苗照亮周围一圈的夜路——光晕的半径就是火折子的照明范围,光晕的暖色是火折子的温度感。三段的核心是"从无到有":火苗从零到满高的生长过程就是火折子的演出,生长的速率就是它的性格。

完整演示在这,点吹口气:

demo
 fx-firestick

二、幂尔框架实现:火苗生长与光晕半径

火苗高度按时间从零长到满高,光晕跟着火苗走:

lua
local FireStick = {}
local KEY = { GROW = 40 }

local lit, flameH = false, 0
local fx, fy = 330, 170

function FS.Blow()
    if lit then return end
    lit = true
    flameH = 5
    SL:PlaySfx("blow_fire")
    SL:PlayBurst(fx, fy - 20, "fire_spark", 8)
    -- 火苗生长: 从火种到满高
    SL:Schedule(function(dt)
        if not lit then SL:UnSchedule("flameGrow") return end
        flameH = math.min(60, flameH + KEY.GROW * dt)
        SL:SetFxSize("flame", 10, flameH)
        SL:SetFxPos("flame", fx + math.sin(SL:GetValue("engineTime") * 8) * 4,
                    fy - flameH / 2)
        if flameH >= 60 then SL:UnSchedule("flameGrow") end
    end, 0.016, "flameGrow")
end

function FS.Render()
    if not lit then return end
    -- 火苗光晕: 暖色径向渐变
    SL:DrawGlow(fx, fy - flameH / 2, flameH, "warm")
    -- 火折子纸卷
    SL:DrawRect(fx - 7, fy, 14, 90, "#8a5a2a")
    -- 摇曳的火苗偏移
    local sway = math.sin(SL:GetValue("engineTime") * 8) * 4
    SL:DrawFlame(fx + sway, fy - flameH / 2, flameH)
end

return FS

光晕的半径跟火苗高度同步——火苗多高光晕多大,光晕是火苗的影子。

三、光晕半径与夜路的温度

光晕的暖色是火折子的温度感:暖色的径向渐变从中心的暖白到边缘的透明橙——冷色底上一圈暖色光晕,夜路的温度感就出来了。摇曳的火苗是"活"的证据:火苗的偏移量随正弦波摇摆——不摇的火苗像灯泡,摇的火苗才是火。火折子的纸卷分三层:纸卷的颜色棕黄分三层渐变——单色的纸卷像木棍,分层的才像卷纸。最后,光晕里的夜路要若隐若现:光晕照到的地方隐约可见路面纹理——火折子照亮的不是整个世界,是脚下的三步路,三步路的可见就是夜路的全部安全感。

作者履历与出处

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

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

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

LATEST ARTICLES

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

进阶实战游戏功能

威压诀:站得够近,它的刀就软

【游戏功能】 威压诀的全机制就一句:把气提到刀上,脚下荡开一圈威压场——圈里的怪刀软一半、出手慢半拍,你的刀对它加五成;怪不…

2026-10-01 03:33 996 技术组
进阶实战游戏功能

焚祭:烧了自己的犬,换十秒火刀

【游戏功能】 vd = hot and base 2 or base ——一行两倍的乘法,藏在焚祭全部的痛感里:刀翻倍的代价…

2026-10-01 03:33 996 技术组
进阶实战游戏功能

舍身盾:致命一刀下来,它替你扛了

【游戏功能】 大怪蓄力蓄到发亮的那一发重击,凭什么有信心接下来?多数玩家的答案是"闪",可闪有冷却、有前摇、有失误——舍身盾…

2026-10-01 03:33 996 技术组
进阶实战游戏功能

吸血虫:一只虫咬在身上,拍它要停手一拍

【游戏功能】 战斗组翻到一笔没人认领的异常:玩家的血条在没有挨打记录的情况下稳定下滑,一秒四点,战斗日志里攻击来源是空的。排…

2026-10-01 03:33 996 技术组
进阶实战游戏功能

沙漏阵:沙漏里的刀软,沙漏外的刀疯

【游戏功能】 数值组翻过一笔扯皮的账:同一只头目,A 队三分钟放倒,B 队磨了十一分钟还灭了——装备差不到一成,输出差了一倍…

2026-10-01 03:33 996 技术组
进阶实战游戏功能

借刀符:一张符贴上去,它的爪听我的

【游戏功能】 借刀符的全机制就一句:一张符掷中谁,谁就中招六秒——六秒里它的爪听你的,转身撕咬自己人,符效一过它回过神来第一…

2026-10-01 03:33 996 技术组