【游戏功能】
测试员报过一个"石柱不挡人"的怪现象:冲撞玩法里,狼怪的冲撞理应被石柱拦下,实际狼怪穿柱而过,石柱的耐久纹丝不动。追下来是冲撞的位移没和可破坏物做碰撞查询——位移通道里只有墙和边界,石柱这种"会碎的墙"不在查询名单里。修完这个穿柱,撞柱戏狼这套"借物挨撞"的玩法,今天拆开。
一、起冲、让位、撞柱三段
撞柱戏狼的三段。起冲:狼怪压低身子起手冲撞,半秒前摇,一条红色虚线从狼头拉到玩家脚下——冲是直线冲,轨迹亮得明明白白。让位:虚线亮起的半秒点侧移,人往旁边一跳——冲撞落空,狼怪的直线冲到了玩家刚才站的位置,再往前半步,正好是石柱的所在。撞柱:石替人挨了这一冲——石屑炸开,柱身裂一道纹,狼怪自己被反震得一个趔趄,硬直一秒白送。柱子能扛三撞,三撞之后柱碎场开——场地从此没有遮拦,狼怪的冲撞只能靠走位躲。三段连起来:柱子是玩家雇的肉盾,玩家的功课是把狼的冲锋引到柱子上——走位引狼,让柱子打工。
完整演示在这——点「侧移!」让开冲线,看它一头撞在柱子上:
fx-pillar
二、幂尔框架实现:位移查询与破坏结算
幂尔框架里冲撞位移要查墙、查边界、还要查可破坏物:
local PillarPlay = {}
local CHARGE_TIME, PILLAR_HP = 0.3, 3
function PillarPlay.Charge(monster)
SL:SetState(monster, "charge", CHARGE_TIME)
SL:Dash(monster, "toward_player", 220, CHARGE_TIME, function(landX)
local pillar = SL:GetBreakableAt(landX, "stone_pillar")
if pillar then
SL:DamageBreakable(pillar, 1)
SL:SetStagger(monster, 1.0)
SL:PlayBurst(pillar, "stone_chip", 14)
SL:ShowTipAbove(pillar, "撞柱! 石裂")
SL:ShakeCamera(6, 0.28)
if SL:GetBreakableHP(pillar) <= 0 then
SL:BreakBreakable(pillar)
SL:ShowTipAbove(pillar, "柱碎! 场开了")
end
elseif SL:IsDodging("player") then
SL:PopText(monster, "MISS", "gray")
SL:SetStagger(monster, 0.6)
else
SL:DamagePlayer("charge", 16)
end
end)
end
SL:RegClick("dodge", function() SL:DodgeSide("player", 90) end)
return PillarPlay
GetBreakableAt 是那口"穿柱"事故的补丁:位移落点的查询名单里加上可破坏物,冲撞撞上石柱就转入破坏结算——会碎的东西也要进碰撞名单,这是破坏物系统的第一课。
三、三撞的耐久与柱碎的代价
三撞的耐久是石柱的定价:一撞就碎,柱子成了消耗品,玩家引三次撞换三次硬直,狼怪全程白给;十撞不碎,柱子是永久掩体,玩家躲在柱后挂机——三撞刚好够玩家学会"引撞"、又逼着玩家在柱碎前尽量多占便宜。柱碎之后的场地是空的,狼怪的冲撞从"有柱可挡"变成"只能走位"——柱碎前后的难度差就是这套玩法的时序压力:会玩的玩家在柱子还在时多赚硬直,柱碎了凭走位收拾残局。硬直的一秒也要配给玩家一个清晰的用途:绕后劈一刀、喝口药、或者再引一次冲——硬直不给奖励就等于没有。最后是给关卡组的:石柱的摆放要卡在玩家和狼怪的连线上——柱子立在空地上没人撞它,立在冲锋的必经之路上,它才是一面会还手的盾。破坏物的全部价值,都在"恰好挡在要道上"这个摆放学里。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【游戏功能】 控制技能的镜像问题是:锁住了怪,自己是不是也闲着?影锁把这道两难摆上台面:影锁四秒,它动不了、你也动不了——它…
【游戏功能】 打断为什么只有"清读条"一种?震魂偏要反过来——不清招、不断势,打在它读条半途的那一劲顺着招震进腑——中劲十秒…
【游戏功能】 蜂群为什么总是一只一只出?蜂王偏要让它们进化:放一只蜂王出来,杀掉小怪喂它——喂三只升一阶,三阶蜂王的毒刺一秒…
【游戏功能】 技能为什么总是不扣自己的血?血刃偏要反着来:开着血刃的每一刀先扣自己二血、命中回三血——净赚一但要打得中,空刀…
【游戏功能】 bn.t = bn.t - dt ——一行旗面倒计时的代码,撑起了破军旗全部的紧迫感:旗立三秒、圈内加攻三成,…
【游戏功能】 淬毒为什么要一毒到底?淬毒刃偏要一层一层叠:一刀淬一层毒、毒层一秒六地烂,六层封顶之后一刀下去毒伤三十六——叠…