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

悬石:头顶的影子大了,石头就要落了

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

【游戏功能】

天上掉石头不可怕,可怕的是不知道往哪儿躲——悬石的机制把答案画在了地上:石头落下前,地上先长出影子,影子长圆的那一刻,石头就到了。看影子落点,别站在圆里——六个字,就是这门功夫的全部。今天拆悬石,看"天降系"怎么把头顶的威胁,变成一场看影子的落点游戏。

一、生影、坠落、溅账三段

悬石的循环三段。生影段:头顶的石头脱手,地上同步长出一圈阴影,影子从一个小点慢慢长圆——生影段是全技能的预告:影子是石头的落点坐标,它长多大、长多快,就是石头给你的全部信息——读懂影子的人,提前一秒就知道该不该跑。坠落段:一秒一到,石头从天而降砸进影子里,尘土崩起半人高——坠落段是全技能的执行:落点是死的,砸的是影子里的人,影子里没人就只砸出一声闷响。溅账段:落点的溅射圈里,站着的狼怪跟着挨四十五——溅账段是全技能的余味:悬石砸不到你,你可以引它砸别人——把落点引到怪堆边上,溅射圈就是你的账本。三段的核心是"影即落点":石头在天上飞的时候,它的命运已经写在影子里了。

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

demo
 fx-fallshadow

二、幂尔框架实现:影子是一枚先行的坐标

悬石的账本两笔:影子先行、石头后到——

lua
local FallShadow = {}
local SHADOW_T = 1.0       -- 影子一秒长圆
local SPLASH_R = 65        -- 溅射圈
local ROCK_DMG = 45

local rocks = {}

function SL:DropRock(x)
    table.insert(rocks, { x = x, t = SHADOW_T })
    SL:ShowTipAbove(x, "影")
end

function SL:OnTick(dt)
    for i = #rocks, 1, -1 do
        local r = rocks[i]
        r.t = r.t - dt
        SL:DrawShadow(r.x, 1 - r.t / SHADOW_T)   -- 影子渐长
        if r.t <= 0 then
            SL:RockFall(r.x)
            SL:RingAt(r.x, SPLASH_R, "#c9a06a")
            for _, w in ipairs(SL:ActorsNear(r.x, SPLASH_R)) do
                SL:HitActor(w, ROCK_DMG)
                SL:ShowTipAbove(w, "-45 砸")
            end
            table.remove(rocks, i)
        end
    end
end

return FallShadow

影子先行是全技能的魂:石头还在天上飞,影子已经把答案画在了地上——先行的影子就是这门功夫免费发的考卷。

三、坠落的演出规格

影子是全技能的考卷:一圈阴影从点长圆、边缘一圈土黄的环——影子要"长",长出来的影子才有倒计时的实感,凭空出现的圆是警告不是预告。石头的下坠要"跟影":石头实体从影子正上方按影子的进度同步下落——影长一半、石到一半,影和石的两条线叠在一条时间轴上。落石的三件套:尘土崩半人高、六像素震屏、土黄的"落石"大字——落石的分量全靠这一套崩塌感撑着,落石不是掉物,是塌方。溅射圈要"画":落点炸开一圈土黄的环线,环内是溅射的账本范围——环画一圈,账本的范围就一目了然。

四、定价与三条影规

天降系的定价一句话:影子一秒、砸四十五、溅射一圈六十五像素——四十五的账全砸在影子里的人头上,影外的人连风都吹不着。三条影规:其一,影生石生影灭石灭——影子走完它的一秒石头必然落地,影子和石头是同一件事的两个阶段;其二,溅射不认敌我——砸中的狼怪挨四十五,站进圈里的你也挨四十五,溅射圈的账本一视同仁;其三,落点不追人——影子长在哪儿石头就落哪儿,跑到天边它也不改道,天降系的骨头是"不追踪"。与红圈预警对照着看:同是"地上画圈提醒",红圈是"圈内将有伤害"的减法提示——离开就完事;悬石的影子是"这是落点"的加法预告——圈内必有石头,天降系的两个门派在"劝你走"还是"告诉你来"上分了家。

五、天降系的引石学:让天上的石头变成地上的账本

悬石真正高级的地方是把"躲避技"和"输出技"缝在了一起:对新手它是躲影子的走位课,对老手它是一枚可以定向引爆的炮弹——把落点引到怪堆边上,溅射圈就成了全队共享的账本。老玩家的引石有一套算术:怪追你的时候它的路径是可预测的,把石头引在它路径的前一格,砸中的概率比自己瞄准还高。对观战者,影子和石头一上一下的呼应是全场最有节奏感的画面:影子长圆、石头落地、尘土溅到怪身上——三帧讲完一个完整的因果。工程收尾记一笔:影子的大小要和石头的伤害范围严格一致——影子画小了是欺诈、画大了是送分,影子的诚实就是这门功夫的公平。最后留给数值组的一句话:四十五对一秒的影子,账面适中——天降系的收益在"引"字里,会引的人眼里没有天灾,只有没花钱的空袭。\r\n\r\n悬石的影子还有一手连落的读法:石头会成串地落——三块石头的影子次第长开,先落头一块的落点,就占住了后两块的看台——影子串连起来读,就是一张三连拍的落点时刻表。会读的人在三块石头的缝隙里穿行,像一个走在雨点间隙里的人,浑身上下干干净净。

写完再留一句给做天降系的同学:落石最容易做成"随机砸",而它本该是一场影子先行的因果戏——影要长得出预报、石要砸得有分量、溅要溅出账本圈,因果画在了地上,玩家才肯把躲石头玩成引石头。

补一个演示彩蛋位:石头砸进地里的那半秒,影子的圆心会留一块颜色更深的湿印——湿印慢慢干掉的过程,就是这块地"刚挨过砸"的余温,余温散了,下一块影子正好长圆。

作者履历与出处

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

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

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

LATEST ARTICLES

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

进阶实战游戏功能

Lua自动炮台:架一个自动索敌开火

【语法算法】 上一版的炮台索敌逻辑有个隐蔽报错:炮台永远打同一个怪——即使那只怪已经死了,索敌的游标也不挪窝。追到底索敌的游…

2026-10-02 04:50 996 技术组
进阶实战游戏功能

Lua元素转换:火伤转冰伤附带减速

【语法算法】 先抛一个坑:打不完的火系怪怎么办?火抗怪火打不动,换冰系技能要切装备要换面板——切完黄花菜都凉了。元素转换的答…

2026-10-02 04:50 996 技术组
进阶实战游戏功能

Lua连锁引燃:一个着火引燃下一个

【语法算法】 上个月的事故复盘会上有个数字被念了三遍:四成——策划写的是"同伴陪疼四成",代码落下去成了"陪疼四十点",两只…

2026-10-02 04:50 996 技术组
进阶实战游戏功能

Lua弹射地垫:踩上去弹飞到空中

【语法算法】 单行代码拆解:弹射初速=-420——弹射的全部动力就这一行的负初速。负号朝上、四百二十是弹射的初速大小——踩上…

2026-10-02 04:50 996 技术组
进阶实战游戏功能

Lua时间减缓:流速减半的局部时差

【语法算法】 上一版的减速类模块全按"乘以零点五"来写,帧率无关的版本照搬了这套写法——结果高帧率机上减速效果好,低帧率机上…

2026-10-02 04:50 996 技术组
进阶实战游戏功能

Lua引力球:丢出去把怪吸过来

【语法算法】 先抛一个坑:怎么把散在四处的怪聚到一起打?逐个拉是笨办法,一个范围技又只能打一片——引力球的答案是一个会动的吸…

2026-10-02 04:50 996 技术组