【游戏功能】
跑赢了的怪,怎么反倒挨了烧?火焰冲刺的账目反直觉就在这:冲刺是位移,火径是遗产——人冲过去了,路留在原地烧三秒,追上来的怪顺着你的脚印一路踩火。今天拆火焰冲刺,看"位移铺场"这个组合怎么把逃跑路线变成武器。
一、起跑、铺火、踩烧三段
火焰冲刺的循环三段。起跑段:战士化作一道火线从场这头拉到那头,残影与火星在身后拖出一条渐细的尾巴——起跑的速度是全技能的脸面:冲刺要快到"上一帧在左下一帧在右上",慢了就成了慢跑。铺火段:冲刺路径上每七十像素留一枚火斑,火斑椭圆摊在地上烧三秒——火斑的排布间距是刻意的:一段一段的地皮,像给这条路盖了一排火印。踩烧段:狼怪走到火斑上或追着人的脚印跑,踩火开烧,每零点七秒一扣的燎伤小字——踩烧的账与冲刺本身无关:冲刺可能全程打不着人,但路是留给下一秒的。三段的核心是"位移的第二重身份":冲刺不只送人到别处,还把走过的路变成别人的禁区。
完整演示在这,默认自动循环:
fx-firedash
二、幂尔框架实现:冲刺路径与火斑铺设
冲刺是一段带插值的位移,火斑按距离间隔铺设:
local FireDash = {}
local DASH_TIME, GAP, BURN = 0.55, 70, 2.1
function SL:CastFireDash(actor)
SL:PlayActorAct(actor, "run")
local sx = SL:GetValue("actorX", actor)
SL:ScheduleRepeat(0.016, function()
local k = SL:DashProgress() -- 框架托管的冲刺进度
SL:SetActorX(actor, sx + (560 - sx) * k)
SL:TrailFx(actor, "flame_trail")
local step = math.floor(SL:GetValue("actorX", actor) / GAP)
if step ~= (SL.GetValueCache("lastStep") or -1) then
SL.SetValueCache("lastStep", step)
SL:MarkGround(SL:GetValue("actorX", actor), GROUND, "fire_patch", BURN)
end
if k >= 1 then SL:CancelRepeat() end
end)
end
function FireDash.OnStandIn(actor, patchX)
if SL:GetValue("actorX", actor) and math.abs(SL:GetValue("actorX", actor) - patchX) < 34 then
SL:ApplyDebuff(actor, "burn", 2.1)
SL:ShowTipAbove(actor, "-20 踩火", "#f97316")
end
end
return FireDash
火斑按"跨过七十像素格"铺设而不是按帧——按帧铺会密成一堵火墙,按格铺才有"一排火印"的节奏。踩烧的判定挂在站立钩上:谁站进斑里谁挨烧,包括放火的自己——火径对施法者同样生效,这条公平是火焰系的老规矩。
三、冲刺的画法与火斑的余温
冲刺的残影要"拖":本体以全速位移,身后每帧补一道渐淡的残影加两粒火星——残影拉得越长,速度感越足,残影断续就是卡顿。火斑是"贴地的火":椭圆火面压扁在地、中心一粒亮黄、外圈橙红脉动——火斑与陨石坑同样贴地,但斑是"薄薄一层",坑是"砸出来的洞",厚度感必须分开。踩火的反馈分两段:踩中当下"-20 踩火"的中字,之后两秒里每零点七秒一个"-7 燎"的小字——踩中的大字是警告,燎伤的小字是利息,两段账目分色分号。火斑熄灭前半秒开始变暗——火径的退场是渐暗不是消失,"路冷了"也要有个过程。
四、铺场系的定价与边界
火径类技能的定价核心是"位移免费、铺场收费":冲刺本身的位移价值白送,火斑才是计费部分——三秒火斑三秒税,总账不能高过一次正经输出。三条边界:其一,火斑不追人——斑是死的,站出去就安全,火径的威胁半径固定;其二,同格不叠——两次冲刺的重叠段不叠两份烧,火就一层火;其三,自己照样烫——放火的回头踩自己的斑同样挨烧,地形对全场的公平高于施法者。与玄冰刺(冰圈减速)摆在一张桌上,冷热两系铺场的分工就清楚了:冰圈是"站着不动挨拖",火径是"顺着路挨烧"——一个惩罚停留,一个惩罚追击,地形语言的两种方言。起跑有残影、铺火有节奏、踩烧分两段账、自己同样烫——四件凑齐,火焰冲刺才烧得出"走过的路都会烫"。
五、火径的路线学:冲给谁看
冲刺的路线是可以选的,选路的水平就是这门功夫的段位。三路由线摆在桌面上:直穿线——从场左冲到场右正穿狼怪的巡逻带,火斑一串铺在它回家的路上,逼它全程绕行;贴身线——冲的终点压在狼怪身后半步,冲刺的接触伤害加火斑的追尾烧,一趟两账;回马线——冲过去再跑回来,两条火径交叉把狼怪的巡逻区圈成一片火场。三路线的取舍全看狼怪当下的脾气:它爱追人就走贴身线,它死守岗位就铺直穿线。演示的自动演武固定走直穿线,观众看两轮就能体会"冲的终点不是重点,冲的沿途才是"。火斑的间距也有一处可调的心思:七十像素的间距对上狼怪的步幅,它每两步必踩一斑——间距调密烧得更频,调疏则留出安全的落脚点,火径的松紧就是这门功夫的难易旋钮。最后记一笔与疾行术的对账:同样是位移强化,疾行的位移是"用途"、火径的位移是"弹药"——跑得快是腿的事,跑过的路能烧才是这套体系的想象力所在。
收尾再交代一笔留白:火斑的烧对狼怪的巡逻AI没有写任何避让——它该走哪走哪,烧是它自己撞上来的账。铺场类技能的最高境界就是不改怪一个字节,路放在那里,选择永远留给对面。
还有一句留给手感调校:冲刺的速度曲线建议前快后缓——起步的爆发把“冲”字立住,末段的缓冲把人稳稳送进收招,一头一尾的手感对了,中间的路怎么铺都好看。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【游戏功能】 最后抛一个坑:棋盘能不能自己翻?棋类的妙处全在格子——同一枚子,落在黑格是一步闲棋,落在黑格加成就是一步杀招。…
【游戏功能】 上一版埋了个"永不触发"的隐蔽报错:双簧纹的齐爪判定永远不成立——两只怪的爪明明一前一后落在同一帧里,判定却始…
【游戏功能】 上一版留了条越烧越旺的隐蔽报错:灶火的燃料没有上限——玩家的每一刀都往灶里添柴,刀快的人把燃料堆到了六十秒,灶…
【游戏功能】 chg=math.min(24,chg+8) ——先拆这一行。借风纹的账全在这一行的封顶里:它劈空的每一刀往你…
【游戏功能】 先抛一个坑:打不过就杀,打得过也要杀,能不能有一回不杀?五十多个机制写下来,刀刀都是奔着怪的血条去的——留情、…
【游戏功能】 上一版出过一场查了半宿的线上事故:接龙纹的龙总是在换手的一拍断掉——玩家明明规规矩矩换目标接龙,龙却每次都从零…