【游戏功能】
跑赢了的怪,怎么反倒挨了烧?火焰冲刺的账目反直觉就在这:冲刺是位移,火径是遗产——人冲过去了,路留在原地烧三秒,追上来的怪顺着你的脚印一路踩火。今天拆火焰冲刺,看"位移铺场"这个组合怎么把逃跑路线变成武器。
一、起跑、铺火、踩烧三段
火焰冲刺的循环三段。起跑段:战士化作一道火线从场这头拉到那头,残影与火星在身后拖出一条渐细的尾巴——起跑的速度是全技能的脸面:冲刺要快到"上一帧在左下一帧在右上",慢了就成了慢跑。铺火段:冲刺路径上每七十像素留一枚火斑,火斑椭圆摊在地上烧三秒——火斑的排布间距是刻意的:一段一段的地皮,像给这条路盖了一排火印。踩烧段:狼怪走到火斑上或追着人的脚印跑,踩火开烧,每零点七秒一扣的燎伤小字——踩烧的账与冲刺本身无关:冲刺可能全程打不着人,但路是留给下一秒的。三段的核心是"位移的第二重身份":冲刺不只送人到别处,还把走过的路变成别人的禁区。
完整演示在这,默认自动循环:
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 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【游戏功能】 它的爪子明明挥向了你,怎么落在自己脸上?夺舍的答案邪门到家:道士的魂钻进了狼怪的身子——占据三秒,这三秒里它每…
【游戏功能】 墙又不追人,怪为什么次次撞?水墙的定位写在物理里:它立在路中央六秒,是一块"会推人的地形"——狼怪巡逻的弧线扫…
【游戏功能】 左手五刀右手五刀,怎么就数得清是双刀?双刀交叉斩的答案在弧线上:左刀的弧向右扫,右刀的弧向左扫,两把刀的弧线在…
【游戏功能】 隔着半个屏幕扎草人,狼怪为什么跟着一抽一抽?咒怨娃娃的逻辑古老而瘆人:草人与目标结咒之后,草人就是它——针扎草…
【游戏功能】 雷云的全部机制就这一行:一朵乌云升到目标头顶,慢半拍地跟着挪,每一点二秒掉一道小雷。云不追人——它认的是"头顶…
【游戏功能】 跑赢了的怪,怎么反倒挨了烧?火焰冲刺的账目反直觉就在这:冲刺是位移,火径是遗产——人冲过去了,路留在原地烧三秒…