【游戏功能】
狂龙紫电的咬合判定就这一行:
if not bit and nearHead then bite() end
龙头靠近狼怪头部的瞬间咬一口——狂龙紫电的全部机制就这一行。可这一行的后面还有半刀:龙头咬完了,龙身擦过还要补十八点——一条龙两段账。今天拆开。
一、召龙、咬合、擦身三段
狂龙紫电的三段。召龙:点下狂龙紫电,玩家的武器尖头凝出一颗紫电的龙珠——龙珠一路变大,龙头的形状在电光里显出来,龙身拖着一条忽明忽暗的电尾——召龙是"请",一条龙被请出来帮玩家打一架。咬合:龙头扑到狼怪头部的瞬间张口一咬——四十点的紫字大号砸下,狼怪被咬得一个趔趄——龙咬的伤害是这套技能的主账,一口下去狼怪的血条直接少四成。擦身:龙头咬完继续往前飞,龙身从狼怪身侧擦过——擦过的一瞬补十八点的蓝字小号——龙咬是大账,龙身擦过是小账,一条龙飞过去,两笔伤害叠加。三段连起来:狂龙紫电不是"一个大伤害",是"一个大伤害加一个小伤害"的复合结算——玩家看懂了两段账,才知道该怎么用。
完整演示在这——点「狂龙紫电!」看雷龙怎么咬它一口再擦它一刀:
fx-dragon
二、幂尔框架实现:龙头判定与龙身擦伤
幂尔框架里狂龙是一条带双段判定的飞行电龙:
local Dragon = {}
local BITE_DMG, BRUSH_DMG = 40, 18
local dragon = nil
function Dragon.Summon()
SL:PlayActorAct("player", "cast")
SL:ScheduleOnce(function()
dragon = {
x = SL:GetValue("x", "player") + 40,
y = SL:GetValue("y", "player") - 70,
bit = false, brushed = false,
}
SL:FlashScreen("#bc8cff", 0.12)
SL:ShowTipAbove("player", "狂龙紫电!")
end, 0.3)
end
local function onDragonTick(dt)
if not dragon then return end
local headX = dragon.x + 16
local mx = SL:GetValue("x", "monster")
if not dragon.bit and math.abs(headX - mx + 10) < 26 then
dragon.bit = true
SL:Damage("monster", BITE_DMG)
SL:Stun("monster", 0.5)
SL:PopNumber("monster", BITE_DMG, "purple_big")
SL:ShowTipAbove("monster", "龙咬!")
SL:ShakeCamera(6, 0.3)
end
if dragon.bit and not dragon.brushed and math.abs(dragon.x - mx + 26) < 22 then
dragon.brushed = true
SL:Damage("monster", BRUSH_DMG)
SL:PopNumber("monster", BRUSH_DMG, "blue")
SL:ShowTipAbove("monster", "龙身擦过")
end
dragon.x = dragon.x + 220 * dt
end
SL:RegTick("dragon_tick", onDragonTick)
SL:RegClick("summon", Dragon.Summon)
return Dragon
咬和擦是两个独立的判定位:先咬中再擦伤,擦伤只在咬中之后——一条龙的两段账有先后顺序,玩家读得出"先咬后擦"的时间差。
三、双段账的读法与冷却的节拍
双段账教玩家的第一课是"龙的路线决定收益":龙头咬四十、龙身擦十八——狼怪站在龙的正面吃双段,站在侧面只吃擦身——狂龙紫电的释放角度决定伤害的总和,这条规矩把"朝哪放"变成了一个值得思考的问题。冷却三秒对龙飞一秒一:龙飞走之后两秒的空窗里玩家只有普攻——普攻续伤、龙冷却好了再来一条——狂龙紫电的循环就是"普攻铺垫、龙来收账"的节奏。最后是和落雷的分账:落雷是从天上劈的单点爆发,狂龙是一条会飞的多段命中——一个垂直落一个水平飞,一个一锤定音一个两段连击,玩家要做的不是二选一,是按狼怪的位置选垂直还是水平。最后给表现组一条:龙头的紫光要最亮、龙身的电尾要渐暗——龙头是"主账"的视觉锚点,龙尾是"路径"的视觉证据——玩家看着龙的颜色就知道哪段账重哪段账轻。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【游戏功能】 控制技能的镜像问题是:锁住了怪,自己是不是也闲着?影锁把这道两难摆上台面:影锁四秒,它动不了、你也动不了——它…
【游戏功能】 打断为什么只有"清读条"一种?震魂偏要反过来——不清招、不断势,打在它读条半途的那一劲顺着招震进腑——中劲十秒…
【游戏功能】 蜂群为什么总是一只一只出?蜂王偏要让它们进化:放一只蜂王出来,杀掉小怪喂它——喂三只升一阶,三阶蜂王的毒刺一秒…
【游戏功能】 技能为什么总是不扣自己的血?血刃偏要反着来:开着血刃的每一刀先扣自己二血、命中回三血——净赚一但要打得中,空刀…
【游戏功能】 bn.t = bn.t - dt ——一行旗面倒计时的代码,撑起了破军旗全部的紧迫感:旗立三秒、圈内加攻三成,…
【游戏功能】 淬毒为什么要一毒到底?淬毒刃偏要一层一层叠:一刀淬一层毒、毒层一秒六地烂,六层封顶之后一刀下去毒伤三十六——叠…