【游戏功能】
一、一个打在空气里的三连击
女王崇拜类三连技能的首测录像里最扎眼的一幕:三道粉色刃光依次飞出,动作行云流水,怪物安然无恙——刃光的轨迹从怪的头顶两指处掠过。量了一下:刃的飞行高度写死在角色头顶上方,而怪的受击区间在头胸。三连发的排面做足了,唯一的命中判定却挂错了高度。多段投射技能的每一发都要过同一道关:它的竖直坐标,落在目标的受击带里了吗?
二、机制原理:错层三连与归位回收
女王崇拜的结构是"三段错层加归位"。错层:三枚蝶刃依次间隔零点一九秒出手,竖直坐标在头胸带内微错开——第一枚锁喉、第二枚割胸、第三枚扫腹,同一目标吃三下的观感是"被割了一整轮"而非"被同一把刀捅三次"。归位:默认状态下刃飞到目标点不消失,回旋飞回掌心——女王的刀不留在别人的地盘上,归位本身就是收招动作,连下一轮的起手都顺理成章。回旋可关,关掉则是"一去不回"的决绝版。蝶刃本体是双层蝶翼加自旋,粉色加色混合让它飞过之处自带残光。
fx-queenbow
三、正确写法:错层三连(引擎侧)
local BLADE = { Y_TOP = -92, Y_MID = -62, Y_LOW = -40, GAP = 0.19 }
function queenWorship:Cast(caster, target)
caster:PlayAction(global.MMO.ANIM_SKILL)
local heights = { BLADE.Y_TOP, BLADE.Y_MID, BLADE.Y_LOW }
for i = 1, 3 do
PerformWithDelayGlobal(function()
local blade = CreateQueenBlade(caster:GetPalmPos())
blade:SetTargetY(target:GetY() + heights[i]) -- 错层: 三枚三个高度
blade:SetSpeed(self._speed)
blade:SetReturn(self._canReturn) -- 回旋开关
blade:OnArrive(function()
target:OnHit(self._dmg / 3) -- 三枚均分伤害
SpawnCrossMark(target) -- 头胸处的十字割痕
end)
end, (i - 1) * BLADE.GAP * 1000)
end
end
-- 蝶刃: 飞行贴图朝向运动方向, 自旋只转翼不转头
function queenBlade:Update(dt)
self._spin = self._spin + dt * 22
self._sprite:setRotation(self._spin)
self._x = self._x + self._dirSign * self._speed * dt
if math.abs(self._x - self._targetX) <= self._speed * dt then
self:OnArrive()
if self._canReturn then self._returning = true else self:Remove() end
end
end
四、四个必须钉死的细节
五、心法:多段技能的排面在错层里
女王崇拜的错层思想适用于一切多段投射:三连矢高度错开、五连拳落点错开、多重火球弹着点错开。错层让每一段都有独立的视觉身份,玩家看到的是"一套组合拳"而不是"一个技能放了三遍";数值上多段合并结算,表现上段段有姓名。排面不是数量堆出来的,是层次错出来的。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【游戏功能】 无极真气的全部开关就这一行:给角色挂一层六秒的金气光环。但光环底下压着三条规矩——窗口期、三刀递增、过期作废。…
【游戏功能】 气功波为什么不掉血?战士一掌把狼怪推出去三步开外,狼怪头顶连个伤害数字都没有——新手第一反应是"技能没生效",…
【游戏功能】 法术共振报错刷了半屏: bolt target moved: anchor stale ——第一道雷落下到第二…
【游戏功能】 上周团里法师连放七个玄冰刺,怪的血没掉多少,指挥却在喊"完美控场"——直到有人回放录像才发现,狼怪绕着冰圈外圈…
【游戏功能】 彻地钉整套表现的钥匙就这一行:钉子不是打在狼怪身上,是从 地里的固定点 窜出来。今天顺着这行拆彻地钉——为什么…
【游戏功能】 道士的符为什么追着人咬?你明明看着它出手时冲左,狼怪往右一挪,符在半空拐了个弯还是贴上它的胸口——这不是弹道,…