Skip to content

Commit f23ce21

Browse files
authored
Add files via upload
1 parent 70612ec commit f23ce21

1 file changed

Lines changed: 30 additions & 7 deletions

File tree

index.html

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,11 @@
162162
cursor: default;
163163
pointer-events: auto;
164164
border: 1px solid rgba(255, 200, 150, 0.10);
165+
transition: opacity 0.3s ease;
166+
}
167+
.volume-control.disabled {
168+
pointer-events: none;
169+
opacity: 0.35;
165170
}
166171
.volume-control label {
167172
color: rgba(255, 210, 160, 0.6);
@@ -180,6 +185,9 @@
180185
outline: none;
181186
transition: background 0.2s;
182187
}
188+
.volume-control input[type="range"]:disabled {
189+
opacity: 0.5;
190+
}
183191
.volume-control input[type="range"]::-webkit-slider-thumb {
184192
-webkit-appearance: none;
185193
appearance: none;
@@ -193,6 +201,10 @@
193201
.volume-control input[type="range"]::-webkit-slider-thumb:hover {
194202
background: rgba(255, 210, 160, 0.9);
195203
}
204+
.volume-control input[type="range"]:disabled::-webkit-slider-thumb {
205+
cursor: not-allowed;
206+
background: rgba(255, 210, 160, 0.3);
207+
}
196208
.volume-control input[type="range"]::-moz-range-thumb {
197209
width: 16px;
198210
height: 16px;
@@ -201,6 +213,10 @@
201213
background: rgba(255, 210, 160, 0.7);
202214
cursor: pointer;
203215
}
216+
.volume-control input[type="range"]:disabled::-moz-range-thumb {
217+
cursor: not-allowed;
218+
background: rgba(255, 210, 160, 0.3);
219+
}
204220
.volume-control .vol-value {
205221
color: rgba(255, 210, 160, 0.5);
206222
font-size: 13px;
@@ -261,7 +277,8 @@
261277
/* ============================================================
262278
* 拉伸Tap —— 四列音效 (sl.wav, boom.wav, sla.wav, a.wav)
263279
* 自下至上升调 · 仿大狗Tap特效 + 背景音乐
264-
* 隐藏网格 · 背景音量可调(默认1/4)· 点击遮罩不触发播放
280+
* 隐藏网格 · 背景音量可调(默认1/4)
281+
* 触发后等待节拍播放(量化队列)
265282
* ============================================================ */
266283

267284
// ---------- 常量 ----------
@@ -368,7 +385,7 @@
368385
master = ctx.createGain();
369386
master.gain.value = MASTER_GAIN;
370387
bgmBus = ctx.createGain();
371-
bgmBus.gain.value = bgmVolume; // 使用用户设定的音量
388+
bgmBus.gain.value = bgmVolume;
372389
sfxBus = ctx.createGain();
373390
sfxBus.gain.value = 1;
374391

@@ -1265,7 +1282,6 @@
12651282
cell.className = 'cell';
12661283
cell.dataset.col = c;
12671284
cell.dataset.row = r;
1268-
// 标签已隐藏(display: none)
12691285
gridEl.appendChild(cell);
12701286
cells.push(cell);
12711287
}
@@ -1339,6 +1355,8 @@
13391355
function setupVolumeSlider() {
13401356
const slider = document.getElementById('bgm-volume');
13411357
const display = document.getElementById('vol-value');
1358+
const control = document.getElementById('volume-control');
1359+
13421360
slider.addEventListener('input', () => {
13431361
const val = parseFloat(slider.value);
13441362
bgmVolume = val;
@@ -1347,8 +1365,8 @@
13471365
bgmBus.gain.setTargetAtTime(val, ctx.currentTime, 0.02);
13481366
}
13491367
});
1350-
// 阻止滑块事件冒泡到遮罩
1351-
const control = document.getElementById('volume-control');
1368+
1369+
// 阻止滑块事件冒泡到遮罩,避免误触发启动
13521370
control.addEventListener('pointerdown', (e) => e.stopPropagation());
13531371
control.addEventListener('pointerup', (e) => e.stopPropagation());
13541372
control.addEventListener('click', (e) => e.stopPropagation());
@@ -1361,6 +1379,12 @@
13611379
overlay.classList.add('hide');
13621380
document.getElementById('hint').style.opacity = '0';
13631381

1382+
// 禁用音量控件
1383+
const slider = document.getElementById('bgm-volume');
1384+
const control = document.getElementById('volume-control');
1385+
slider.disabled = true;
1386+
control.classList.add('disabled');
1387+
13641388
initAudio();
13651389
if (ctx.state === 'suspended') ctx.resume();
13661390

@@ -1399,7 +1423,6 @@
13991423
// 点击遮罩只启动,不触发播放
14001424
const overlay = document.getElementById('overlay');
14011425
overlay.addEventListener('click', (e) => {
1402-
// 如果点击的是音量控制区域,不启动
14031426
if (e.target.closest('.volume-control')) return;
14041427
start();
14051428
});
@@ -1417,7 +1440,7 @@
14171440
if (!ctx) initAudio();
14181441
}, { once: true });
14191442

1420-
console.log('拉伸Tap 已加载 (网格隐藏,背景音量可调)');
1443+
console.log('拉伸Tap 已加载 (网格隐藏,背景音量可调,触发后量化播放)');
14211444
}
14221445

14231446
if (document.readyState === 'loading') {

0 commit comments

Comments
 (0)