【游戏功能】
斩首是精准刺杀的最高境界:瞄准头部、蓄力、一刀下去——伤害极高,一刀致命。今天拆斩首的表现,看"精准"和"伤害"怎么在同一个技能里共存。
一、瞄准、蓄力、斩首三段精杀
斩首的三段精杀。瞄准段:红色虚线从人物连到狼怪头部——瞄准线是全场的信号弹,线一出所有人都知道你要打头。蓄力段:人物持刀微微下蹲,蓄力的时间就是精度的保证——蓄力越久出手越稳。斩首段:刀光白闪划过狼怪头胸、红色冲击环扩散——白闪是最纯粹的视觉冲击,不需要任何装饰,一刀就是一刀。三段的核心是"精准":不是范围AoE也不是持续DoT,是一刀一刀地打——打的是精度而不是数量。
完整演示在这,默认自动循环:
fx-decapitate
二、幂尔框架实现:瞄准虚线与斩首结算
瞄准虚线画出攻击路径,斩首结算给暴击伤害:
local Decapitate = {}
local KEY = { AIM = 0.4, SLASH = 0.3 }
local aiming = false
function DC.Start(self_, target)
if aiming then return end
aiming = true
SL:PlayActorAct(self_, "cast")
SL:DrawLine(
SL:GetValue("actorX", self_) + 20,
SL:GetValue("actorY", self_) - 56,
SL:GetValue("actorX", target) - 8,
SL:GetValue("actorY", target) - 78,
"#f85149", 1.4, { dash = true }
)
SL:PlaySfx("aim_start")
SL:ScheduleOnce(function()
aiming = false
SL:PlayActorAct(self_, "attack")
SL:ScheduleOnce(function()
SL:PlayFxAt("decapitate_flash",
SL:GetValue("actorX", target),
SL:GetValue("actorY", target) - 78)
SL:ScreenShake(0.28, 5)
SL:DeductHp(target, 68)
SL:ShowHitNum(target, 68, "decapitate")
SL:PlayActorAct(target, "stuck")
SL:PlaySfx("decapitate")
aiming = false
end, KEY.SLASH)
end, KEY.AIM)
end
return DC
DrawLine 的虚线参数是瞄准线的可视标志——虚线表示"还没打",实线才代表攻击。
三、瞄准线的颜色与虚线间隔
瞄准线的颜色选红色而不是绿色——红色是"锁定"的信号,绿色是"可用"的信号,瞄准应该用红色。虚线间隔四像素加六像素空——间隔刚好让人眼识别出"虚线",太密像实线、太疏像碎片。最后,斩首的白闪配刀光从左到右划过——白闪是从全屏暗到亮的过渡,刀光是方向性的,两段叠加才是完整的斩首演出。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【游戏功能】 if _shadowT 0 then spd = noShadow and 12 or 24 end ——一行…
【游戏功能】 魂卫的全机制就一句:杀掉小怪化一盏魂火跟着你走,每盏魂火两秒自动劈最近的大怪一口八点,至多三盏——「引魂!」按…
【游戏功能】 一道咒飞过来,硬吃是四秒里一秒十的钝疼——有没有第三条路?纸人替灾给的就是第三条路:贴一个纸人在身后,八秒里头…
【游戏功能】 挨打还能赚钱?水镜式的答案是:挨的刀七成存进镜里不扣血、三成照常疼,六秒后点「还镜」,存量乘一点五放成水炮——…
【游戏功能】 if _mirrorT 0 then SL:TipAboveMe("免疫") return end ——一道写…
【游戏功能】 远近战的矛盾怎么解?远战的答案是把怪挡在射程外,近战的答案是把人拖进射程内——缩地阵给的第三个答案最蛮横:圈只…