From fa3ba191f2cc4a6ac31aa15edf825d8b1aca9f78 Mon Sep 17 00:00:00 2001 From: deploy Date: Sat, 7 Nov 2026 10:12:39 +0000 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E5=AE=9D=E5=AE=9D=E8=B8=A2?= =?UTF-8?q?=EF=BC=9A15=EF=BD=9E25=20=E7=A7=92=E4=B8=80=E6=AC=A1=E3=80=8120?= =?UTF-8?q?=20=E5=91=A8=E8=B5=B7=E4=BB=A5=E5=B0=8F=E8=84=9A=E4=B8=BA?= =?UTF-8?q?=E4=B8=BB=E3=80=81=E5=8A=9B=E5=BA=A6=E5=8A=A0=E5=A4=A7=E3=80=81?= =?UTF-8?q?=E8=84=9A=E5=8D=B0=E6=9B=B4=E6=98=8E=E6=98=BE=EF=BC=88v26110644?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- index.html | 4 ++-- js/app.js | 2 +- js/bump.js | 24 ++++++++++++++---------- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/index.html b/index.html index 58b4a0e..d940cac 100644 --- a/index.html +++ b/index.html @@ -9,7 +9,7 @@ 兜爸心选 · 孕育陪伴 - + @@ -2732,7 +2732,7 @@ html.night .rs-pan .rp-card{background:rgba(255,255,255,.06);border-color:rgba(2 })(); - + diff --git a/js/app.js b/js/app.js index c9c93ee..6b0bee1 100644 --- a/js/app.js +++ b/js/app.js @@ -3,7 +3,7 @@ (function () { 'use strict'; /* 页面版本号(YYMMDD+序号):显示在「关于兜爸心选」页底部;bump 时同步 head 注释与 ?v= */ - var VER = '26110643'; + var VER = '26110644'; const $ = (s, c) => (c || document).querySelector(s); const $$ = (s, c) => Array.from((c || document).querySelectorAll(s)); diff --git a/js/bump.js b/js/bump.js index 6236e3b..8ae6b3c 100644 --- a/js/bump.js +++ b/js/bump.js @@ -25,6 +25,7 @@ · 20~25 周「小鱼吐泡泡」:小、浅、一闪就没,常常连着两下;隔 10~25 秒才一次,周数越小越稀;滑过来也不追 · 26~33 周「拳打脚踢」:完整版——小脚丫 / 小拳头 / 膝盖 / 小屁股,中途还会再顶一下(11-05 用户:间隔改为 14~25 秒,原 4~8 秒) · 34 周起「地方小了」:很少猛踢,多是一大片慢慢拱过去(翻身、屁股),节奏放慢(11-05 用户:间隔改为 14~25 秒,原 7~12 秒) + 11-07 用户:「改成 15~25 秒一次,20 周之后都踢,力度大一点,能看出小脚印」→ 间隔统一 15~25 秒;三个阶段都以小脚丫为主(约 2/3),脚 amp 9.5→13,脚印加深放大。 孕周来自 app.js 的 mb-preg 事件(syncPregnancy 跑完后广播)。调试:URL 带 bumpweek=24 可强制按 24 周演示。 · 节奏(26 周起):有时原地「哒哒哒」带节奏连踢几拍;有时踢完不歇,旁边紧接着再踢 1~2 下 开关:「我的 → 隐私权限 → 宝宝在肚皮下动」,存 localStorage 'mb_bump'('0' = 关);系统开了「减弱动态效果」也不出来。 */ @@ -63,7 +64,7 @@ /* ---------- 宝宝的各个部位:形状不同,动法不同(形状参数和 demo/bump 一致,脚趾去掉了;真实页面上停留时间加长到 3~5 秒,留够看见再伸手的时间) ---------- */ const PARTS = { - foot: { rx: 60, ry: 68, sharp: 2.5, amp: 9.5, dur: [3.6, 4.6] }, + foot: { rx: 60, ry: 68, sharp: 2.5, amp: 13, dur: [3.6, 4.6] }, // 11-07 用户:「力度大一点,能看出小脚印」→ amp 9.5 → 13 fist: { rx: 44, ry: 44, sharp: 2.7, amp: 8, dur: [3, 3.8] }, knee: { rx: 48, ry: 80, sharp: 2.3, amp: 8.5, dur: [3.4, 4.2] }, butt: { rx: 92, ry: 78, sharp: 1.25, amp: 7, dur: [4, 5], roll: true }, @@ -83,10 +84,11 @@ /* ---------- 孕周 → 阶段 ---------- */ const STAGES = { // drum:原地带节奏连踢的概率;chain:踢完不歇、旁边紧接着再踢的概率,最多连 chainMax 下(2026-10-04 用户:「有时会带点节奏、可以连续踢」) - // 11-05 起间隔统一 25~35 秒(gap() 读 GAP,这里各阶段的 gap 只作记录) - flutter: { order: ['flick', 'flick', 'tap', 'flick'], gap: [25, 35], kick: false, again: 0, double: .45, follow: false, drum: 0, chain: 0 }, - active: { order: ORDER, gap: [25, 35], kick: true, again: .34, double: 0, follow: true, drum: .4, chain: .3, chainMax: 3 }, - late: { order: ['roll', 'butt', 'foot', 'roll', 'knee'], gap: [25, 35], kick: false, again: .15, double: 0, follow: true, slow: true, drum: .22, chain: .15, chainMax: 2 } + // 11-05 起间隔统一 25~35 秒,11-07 改 15~25 秒(gap() 读 GAP,这里各阶段的 gap 只作记录) + /* 11-07 用户:「20 周之后都踢」→ 三个阶段都以小脚丫为主(约 2/3 是脚),20~25 周也会真踢、带脚印 */ + flutter: { order: ['foot', 'tap', 'foot', 'flick', 'foot'], gap: [15, 25], kick: false, again: 0, double: .45, follow: false, drum: 0, chain: 0 }, + active: { order: ['foot', 'fist', 'foot', 'knee', 'foot', 'butt'], gap: [15, 25], kick: true, again: .34, double: 0, follow: true, drum: .4, chain: .3, chainMax: 3 }, + late: { order: ['foot', 'roll', 'foot', 'butt', 'foot', 'knee'], gap: [15, 25], kick: false, again: .15, double: 0, follow: true, slow: true, drum: .22, chain: .15, chainMax: 2 } }; // 原地连踢的节奏型(每拍间隔,秒):匀速「哒哒哒」、「哒哒—哒」、「哒—哒哒」、两下一组 const RHYTHMS = [[.42, .42, .42], [.3, .3, .75, .3], [.6, .28, .28], [.32, .9, .32], [.38, .38, .38, .38]]; @@ -97,7 +99,8 @@ // 两次之间隔多久:20~22 周最稀(再 +40%),越往后越接近本阶段的基准 /* 11-05 用户:「用户来到首页静止不动,至少停 25 秒、25~35 秒之间随机才踢一次,所有孕周都这样」→ 各阶段统一 25~35 秒,不再按阶段 / 20~22 周加长; 而且要「一直没动」:点屏幕、滑动都会把倒计时重新从 25~35 秒数起(见 restart() 调用处),回到首页、开关打开也从头数 */ - const GAP = [25, 35]; + /* 11-07 用户:「改成 15~25 秒一次」 */ + const GAP = [15, 25]; const gap = () => GAP[0] + Math.random() * (GAP[1] - GAP[0]); let lastInput = -1e9; /* 最近一次真正的手指 / 滚轮操作(图片加载、布局变化引起的 scroll 不算用户动了) */ const restart = () => { if (mode === 'wait') wait = gap(); }; @@ -456,12 +459,13 @@ // 脚印:脚跟 / 足弓外沿 / 前掌 / 五个脚趾,单位坐标(脚尖朝 -y),整体缩到鼓包的 0.62 const FOOT = [[0, .42, .2], [.1, .12, .15], [-.02, -.18, .24], [-.17, -.5, .1], [-.04, -.57, .08], [.07, -.55, .07], [.16, -.5, .06], [.23, -.41, .055]]; function footprint(x, y, rx, ry, ang, k) { - if (k < .25) return; - const a = (k - .25) / .75, f = .62, dark = [], lite = []; + /* 11-07 用户:「能看出小脚印」→ 压痕加深约 2.5 倍、整体放大到 0.7、顶到一半就开始显出来(原来淡到几乎看不见) */ + if (k < .15) return; + const a = Math.min(1, (k - .15) / .6), f = .7, dark = [], lite = []; for (const [px, py, r] of FOOT) { // 压痕:中性灰、很淡;左上角错开一点白,像皮肤底下被顶出的浅浅轮廓,而不是画上去的图案 - dark.push([px * f, py * f, r * f * 1.5, 'rgba(70,62,58,' + (.075 * a).toFixed(3) + ')']); - lite.push([px * f - .03, py * f - .04, r * f * 1.2, 'rgba(255,255,255,' + (.12 * a).toFixed(3) + ')']); + dark.push([px * f, py * f, r * f * 1.35, 'rgba(110,70,58,' + (.2 * a).toFixed(3) + ')']); + lite.push([px * f - .03, py * f - .04, r * f * 1.1, 'rgba(255,255,255,' + (.28 * a).toFixed(3) + ')']); } blob(x, y, rx, ry, ang, dark.concat(lite)); }