【游戏功能】
连招节奏表的骨架就这一行:
if combo >= 3 then pant() end
三爪攒满进喘息——狼怪的攻击脚本里,这一行就是玩家的全部机会。喘息窗这类"组末空档"的设计,把怪物的攻击拆成一组一组的呼吸:组内是它的拍子,组末是你的拍子。今天把这一行前后的功夫拆开。
一、连爪、亮圈、破绽三段
喘息窗的三段。连爪:狼怪的攻击三爪一组,一爪紧着一爪,间隔半秒不到,爪爪都是实伤——组内玩家的正确姿势只有一个字:让。后撤把距离拉开,三爪全落在空气上,狼怪扑了个寂寞。亮圈:第三爪落地,狼怪必喘一口——脚下亮起一圈白环,白环呼吸着明暗,头顶"喘息"的倒计时挂着,这一口一点二秒,是整套玩法送出来的破绽。破绽:喘息里的狼怪招架全无,一刀砍上去带"破绽"角标、伤害加五成——窗口里的每一刀都是加倍的意义,白环亮着的一秒二,够玩家贴脸劈两刀再全身而退。三段连起来:组内让、组末打,狼怪的脚本成了玩家的节拍器。
白环亮在狼怪脚下而不是头顶,是因为圈是"区域"的语言——喘息的破绽属于它站的这方圆,玩家瞄圈不瞄脸。让位的分寸也有讲究:后撤半屏,三爪全空;后撤四分之一屏,第三爪还能蹭到衣角——撤多少,玩家的血线教他。狼怪扑空的三爪照样落空计数,空爪也数进三爪里,这条纪律是给玩家的定心丸:让得彻底才让得安心。
完整演示在这——点「后撤」让过三爪,白圈一亮就点「劈砍!」:
fx-pantwindow
二、幂尔框架实现:连击计数与空档标记
幂尔框架里连招组是一个带末段的攻击脚本,喘息是脚本的收尾帧:
local ComboWindow = {}
local COMBO, PANT_TIME = 3, 1.2
local combo = 0
local function onMonsterTick(m, dt)
if SL:GetState(m) ~= "attack" then return end
combo = combo + 1
if combo >= COMBO then
combo = 0
SL:SetState(m, "pant", PANT_TIME)
SL:SetVulnerable(m, 1.5) -- 破绽: 伤害加五成
SL:DrawRing(m, "white_ring", PANT_TIME)
SL:ShowTipAbove(m, "喘息!")
else
SL:NextAttack(m, 0.45) -- 组内: 紧着一爪
end
end
local function onPantEnd(m)
SL:ClearVulnerable(m)
SL:SetState(m, "attack") -- 喘完: 新的一组从头数
end
SL:On("monster_attack", onMonsterTick)
SL:On("pant_end", onPantEnd)
return ComboWindow
SetVulnerable 的加成只挂在喘息状态上,喘完立刻摘——破绽是状态不是词条,摘慢了狼怪站起来还顶着白环,玩家会把常态当窗口。
调用方式上再记两点:连击计数挂在怪物脚本自己的状态机上,玩家把它打进硬直要清零重数——硬直和连招是两本账,混着记早晚出怪招;组内间隔和组末喘息别共用一个计时器——一个管组内的密,一个管组末的松,共用一张表,喘息窗口会被组内节奏拖长拖短。
三、组内的让与窗口的抢
三爪的组内设计是整套玩法的门槛:组内让不是逃跑,是把"挨打的位置"让成"蓄力的位置"——后撤半屏,狼怪的三爪全空,它的脚本不会因为扑空而中断,空爪照样数进三爪里。这份"空爪也计数"是给玩家的定心丸:让得彻底才让得安心。一点二的窗口配零点四五的爪间隔:组内压迫感足够紧、窗口的收益足够厚——窗口里的两刀加成伤害,顶得上组内硬吃的三倍差值,账算得越清,玩家越愿意等。窗口的可视也要克制:白环只亮在狼怪脚下,不加全屏慢镜、不加金光特效——喘息是节奏不是演出,特效一重,玩家看戏不看破绽。最后是和硬直的分账:硬直是打断的馈赠(打断了才有),喘息是脚本自带的节拍(打不打都有)——前者奖操作,后者奖理解,两个"白送的窗口"来源不同,玩家的读法也不同。
组长的变化是进阶课程:精英怪的连招四爪一组、末爪带横扫,喘息缩短到零点八秒——组的长度变了,窗口跟着缩,读招的功课永远有下一页。喘息的收益要设封顶:窗口里最多吃两刀加成,第三刀回归原价——破绽不是无限提款机,封顶线让抢窗口保持新鲜而不变成站桩输出节。最后一条是给策划的:喘息的触发只认脚本不认打断——玩家把它打进硬直,硬直结束连招从头数,喘息重新攒——两套白送的窗口不叠加,叠加了,狼怪就成了木桩。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【游戏功能】 控制技能的镜像问题是:锁住了怪,自己是不是也闲着?影锁把这道两难摆上台面:影锁四秒,它动不了、你也动不了——它…
【游戏功能】 打断为什么只有"清读条"一种?震魂偏要反过来——不清招、不断势,打在它读条半途的那一劲顺着招震进腑——中劲十秒…
【游戏功能】 蜂群为什么总是一只一只出?蜂王偏要让它们进化:放一只蜂王出来,杀掉小怪喂它——喂三只升一阶,三阶蜂王的毒刺一秒…
【游戏功能】 技能为什么总是不扣自己的血?血刃偏要反着来:开着血刃的每一刀先扣自己二血、命中回三血——净赚一但要打得中,空刀…
【游戏功能】 bn.t = bn.t - dt ——一行旗面倒计时的代码,撑起了破军旗全部的紧迫感:旗立三秒、圈内加攻三成,…
【游戏功能】 淬毒为什么要一毒到底?淬毒刃偏要一层一层叠:一刀淬一层毒、毒层一秒六地烂,六层封顶之后一刀下去毒伤三十六——叠…