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

剑气纵横:一道剑气劈到头

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

【游戏功能】

剑气纵横是战士的横版大招:一道横向剑气波从人物位置发出,贯穿狼怪直奔屏幕边缘——穿透的意义是"不止打一个"。今天拆剑气纵横的表现,看一道横向剑气波怎么做出贯穿全场的气势。

一、气聚、出剑、穿透三段贯穿

剑气纵横的贯穿三段。气聚段:人物气聚丹田微微发亮——蓄势不用太长,零点三秒的凝聚就够。出剑段:一道横向剑气波从人物位置发出,宽度五十像素贯穿全场——剑气的宽度可调,宽度就是覆盖面。穿透段:剑气穿过狼怪后继续前进、消散于屏幕边缘——穿透的意义是"不止打一个"。三段的核心是"贯穿":穿过狼怪时留下蓝色剑痕,不因命中而消失。

完整演示在这,默认自动循环:

demo
 fx-swordqi

二、幂尔框架实现:横向波渲染与命中穿透

剑气波用线性渐变填充横向矩形,穿透后继续飞行:

lua
local SwordQi = {}
local KEY = { SPD = 500 }

local waveX, waveActive = 0, false

function SQ.Cast(self_)
    if waveActive then return end
    waveActive = true
    waveX = SL:GetValue("actorX", self_) + 30
    SL:PlayActorAct(self_, "attack")
    SL:PlaySfx("sword_qi")
    SL:Schedule(function(dt)
        if not waveActive then SL:UnSchedule("sqRun") return end
        waveX = waveX + KEY.SPD * dt
        SL:SetFxPos("qi_wave", waveX, SL:GetValue("groundY") - 60)
        local target = SL:GetValue("curTarget")
        if not SL:GetValue("waveHitM") and waveX >= SL:GetValue("actorX", target) - 16 then
            SL:SetValue("waveHitM", true)
            SL:PlayFxAt("qi_hit", SL:GetValue("actorX", target),
                                    SL:GetValue("actorY", target) - 58)
            SL:ScreenShake(0.2, 3)
            SL:DeductHp(target, 38)
            SL:ShowHitNum(target, 38, "sword_qi")
            SL:PlayActorAct(target, "stuck")
        end
        if waveX > SL:GetValue("width") + 40 then
            waveActive = false
            SL:UnSchedule("sqRun")
            SL:ShowSystemTips("剑气消散于屏幕边缘")
        end
    end, 0.016, "sqRun")
end

function SQ.Render()
    if not waveActive then return end
    local w = SL:GetValue("qiWidth") or 50
    SL:DrawGlowRect(waveX - w, SL:GetValue("groundY") - 110, w * 2, 110, "blue_glow")
    SL:DrawLine(waveX, SL:GetValue("groundY") - 110,
                waveX, SL:GetValue("groundY"), "#ffffff", 1.6)
end

return SQ

Render 里的虚线圈是剑气波的"锋面"——锋面的位置就是伤害的判定线。

三、穿透后的剑痕与连发的可能

剑气穿过狼怪后留下蓝色剑痕——剑痕在狼怪身上保留两秒,两秒内的第二次剑气会叠加伤害——叠加的规则让连发有策略:两发快速连射的伤害比一发蓄力高。最后,剑气波是横向矩形而不是圆形——横向矩形是"扫"的感觉,圆形是"炸"的感觉,剑气纵横的"纵横"就是横向扫过去的纵横。穿透后的蓝痕像一道疤留在狼怪身上——疤痕是剑气存在过的证据,疤痕消失前玩家知道这个技能还有余威。

作者履历与出处

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

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

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

LATEST ARTICLES

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

进阶实战游戏功能

偷影:偷走它的影子,没了影子的怪刀都虚

【游戏功能】 if _shadowT 0 then spd = noShadow and 12 or 24 end ——一行…

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

魂卫:杀一葬一,魂火替你出手

【游戏功能】 魂卫的全机制就一句:杀掉小怪化一盏魂火跟着你走,每盏魂火两秒自动劈最近的大怪一口八点,至多三盏——「引魂!」按…

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

纸人替灾:贴一个纸人,下一道咒它替你挨

【游戏功能】 一道咒飞过来,硬吃是四秒里一秒十的钝疼——有没有第三条路?纸人替灾给的就是第三条路:贴一个纸人在身后,八秒里头…

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

水镜式:挨的刀存进镜里,连本带利还回去

【游戏功能】 挨打还能赚钱?水镜式的答案是:挨的刀七成存进镜里不扣血、三成照常疼,六秒后点「还镜」,存量乘一点五放成水炮——…

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

弹反镜:架起一面镜,箭从哪来回哪去

【游戏功能】 if _mirrorT 0 then SL:TipAboveMe("免疫") return end ——一道写…

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

缩地阵:圈越缩越小,逼它和你贴身

【游戏功能】 远近战的矛盾怎么解?远战的答案是把怪挡在射程外,近战的答案是把人拖进射程内——缩地阵给的第三个答案最蛮横:圈只…

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