【游戏功能】
一、一个永远差一步的跳台
蓄力跳台玩法首版,玩家的抱怨高度一致:"按半秒和按三秒跳得一样远,那蓄力条是装饰吗?"蓄力条的视觉做得很用心——进度条、人物下蹲压缩、蓄满变色,一样不少。唯独起跳的力道没跟蓄力挂钩,弹簧的劲系数是写死的。蓄力跳玩法的全部玩法就是"蓄力多久"这一个决策,决策不影响结果,玩法即死。
二、机制原理:蓄力、起跳、落点
蓄力跳的三个参数互相咬合。蓄力时长:按住的时间折算成零到一的蓄力比例,人物下蹲压缩做视觉预告——蹲得越深跳得越远。起跳初速:纵向初速决定高度和滞空,横向初速决定远度,两者都按蓄力比例放大。落点判定:落点横坐标落在目标桩头的宽度区间内即算站上,区间外落回地面重来。桩头的宽度递减、间距递增,难度自然爬坡。
fx-jump
三、正确写法:蓄力跳(幂尔版)
local ChargeJump = {}
local CONST = { MSG_ID = 12290, KEY = "ChargeJump", GRAVITY = 900, MAX_CHG = 1.1 }
-- 按下: 进入蓄力
function ChargeJump.OnPressDown(myID)
ChargeJump._chg = 0
ChargeJump._charging = true
ChargeJump._myID = myID
end
-- 松手: 按蓄力比例起跳
function ChargeJump.OnPressUp()
if not ChargeJump._charging then return end
ChargeJump._charging = false
local p = math.min(1, ChargeJump._chg / CONST.MAX_CHG)
ChargeJump._vx = 150 + p * 260
ChargeJump._vy = -(420 + p * 160)
ChargeJump._flying = true
end
function ChargeJump:Update(dt)
if self._charging then
self._chg = math.min(CONST.MAX_CHG, self._chg + dt)
self._crouch = math.min(14, self._chg * 16) -- 下蹲压缩做视觉预告
return
end
if not self._flying then return end
self._vy = self._vy + CONST.GRAVITY * dt
self._x = self._x + self._vx * dt
self._y = self._y + self._vy * dt
for _, p in ipairs(self._pillars) do
if self._vy > 0 and math.abs(self._x - p.x) <= p.w / 2 and self._y >= p.top then
self._flying = false
self._y = p.top
self._score = self._score + 1 -- 站上桩头
SL:ShowSystemTips("跳上桩头 " .. self._score)
return
end
end
if self._y >= GROUND then self:_FallToGround() end -- 落空重来
end
return ChargeJump
四、四个必须钉死的细节
五、心法:一个决策的玩法也成立
蓄力跳证明:完整的玩法可以只含一个决策。按住的时长是唯一变量,视觉、判定、难度全部围绕它生长。小而深的单决策玩法,比大而浅的多系统堆叠更适合手游的碎片时间——决策一个,乐趣一条,够了。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【游戏功能】 一刀才二十,凭什么说它是好技能?放血的账要等五秒后才看得全:刀口一开,血自己往外淌,五口小额慢扣,总账远超那一…
【游戏功能】 从它头顶翻过去,落地的哪一秒最疼?答案是它转过身来之前的那半秒。燕返的全套设计都围着这半秒转:起跳掠过头顶、落…
【游戏功能】 移速快两成有什么用?打不到人的时候才知道。疾行术是这批技能里数值最朴素的一个——没有伤害、没有控制,就一条移速…
【游戏功能】 太极阵的骨架就这一行:在地上画一个会转的阴阳圈。但让怪物"身不由己"往阵心走的,不是这个圈的画,是圈里每帧都在…
【游戏功能】 明明开着护甲,怎么比裸奔掉血还快?有人把神圣战甲术和金刚护体混为一谈——罩是先扣罩值再掉血,甲是每一刀 打对折…
【游戏功能】 血条见底的时候,道士的刀为什么还在回血?血刀术的反直觉就在这:伤害照给、血也照回,两条账同时走——它不是"吸血…