主界面添加,许多bug修复。祝贺黑盒1如期开始

This commit is contained in:
FloatGaming
2026-03-02 04:34:13 +08:00
parent e11cc1da7a
commit 3c1d263ef1
308 changed files with 59216 additions and 32756 deletions
@@ -29,7 +29,7 @@ public class NoteSpawner : MonoBehaviour
// Documentation text normalized.
[Tooltip("Multiplier applied to visual fall speed. Changing this will automatically adjust spawn timing so notes still arrive at their original beat times.")]
[Range(0.8f, 1.25f)]
[Range(0.5f, 2f)]
public float speedMultiplier = 1f;
[Header("Calibration")]
@@ -78,8 +78,8 @@ public class NoteSpawner : MonoBehaviour
public GameObject animations;
// optional: constants for runtime clamping (kept for internal use)
private const float SpeedMultiplierMin = 0.8f;
private const float SpeedMultiplierMax = 1.25f;
private const float SpeedMultiplierMin = 0.5f;
private const float SpeedMultiplierMax = 2f;
public NoteJudgeConfig judgeConfig; // Documentation text normalized.
private Beatmap beatmap;
@@ -408,8 +408,8 @@ public class NoteSpawner : MonoBehaviour
// pass realtime hit time (startTime + note.time) and delay 0, include globalHitDelay
holdNote.Setup(holdNoteId, noteData.trackIndex, noteSpeed, baseHit, 0f, false, scheduledEndTime, noteData.color, key, "start", travelTime, judgeConfig, noteData);
// compute visual scale for hold segments so pieces visually connect across speedMultiplier changes
float visualScale = 0.9f * sm + 0.1f; // linear fit: f(1)=1, f(2)=1.9
// 使用流速倍率 sm 直接进行缩放,确保长条音符在 0.5-2.0 范围内依然能完美衔接
float visualScale = sm;
holdNote.ApplyVisualScale(visualScale);
// inform hold note of visual speed so it can adapt judgement windows if needed
holdNote.visualSpeedMultiplier = sm;
@@ -440,8 +440,8 @@ public class NoteSpawner : MonoBehaviour
// Documentation text normalized.
holdSeg.Setup(holdNoteId, noteData.trackIndex, noteSpeed, baseHit, segmentDelay, false, scheduledEndTime, noteData.color, key, "middle", travelTime, judgeConfig, noteData);
// apply same visual scale so middle pieces visually connect
float visualScaleMid = 0.9f * sm + 0.1f;
// 应用与开始段一致的流速缩放
float visualScaleMid = sm;
holdSeg.ApplyVisualScale(visualScaleMid);
holdSeg.visualSpeedMultiplier = sm;
@@ -472,8 +472,8 @@ public class NoteSpawner : MonoBehaviour
{
holdEnd.Setup(holdNoteId, noteData.trackIndex, noteSpeed, baseHit, endDelay, true, scheduledEndTime, noteData.color, key, "end", travelTime, judgeConfig, noteData);
// apply visual scale to end piece as well
float visualScaleEnd = 0.9f * sm + 0.1f;
// 同样应用流速缩放
float visualScaleEnd = sm;
holdEnd.ApplyVisualScale(visualScaleEnd);
holdEnd.visualSpeedMultiplier = sm;