new file: .DS_Store

new file:   Audio/track.mp3
	new file:   Audio/track.mp3.import
	modified:   Charts/track.json
	modified:   Scenes/Game/level.tscn
	new file:   Scripts/.DS_Store
	modified:   Scripts/Core/GameManager.cs
	modified:   Scripts/Core/MusicClock.cs
	modified:   Scripts/Core/TrackGenerator.cs
	modified:   Scripts/Data/ChartEvent.cs
	modified:   Scripts/Data/TrackData.cs
	modified:   Scripts/GameObjects/NoteObject.cs
This commit is contained in:
CrbnsCat10n
2026-04-12 17:24:27 +08:00
parent 0e6bf1dcad
commit 778d68fd00
14 changed files with 154 additions and 38 deletions

View File

@@ -4,12 +4,15 @@ using Onrinto.Chart;
public partial class NoteObject : Node3D
{
private double _hitSeconds;
private float _hitAbsZ;
private bool _isHit = false;
private bool _initialized = false;
public void Initialize(ChartEvent chartEvent, double hitSeconds, float initialZ)
public void Initialize(ChartEvent chartEvent)
{
_hitSeconds = hitSeconds;
_hitSeconds = chartEvent.HitTime;
_hitAbsZ = chartEvent.HitAbsZ;
float initialZ = _hitAbsZ - GameManager.Instance.CurrentAbsZ;
Position = new Vector3(chartEvent.Position.X, chartEvent.Position.Y, initialZ);
_initialized = true;
@@ -26,14 +29,14 @@ public partial class NoteObject : Node3D
{
if (!_initialized) return;
float speed = 20.0f; // Scroll speed
double _currentTime = MusicClock.Instance.CurrentTime;
float newZ = (float)((_hitSeconds - _currentTime) * speed);
float newZ = (float)((_hitAbsZ - GameManager.Instance.CurrentAbsZ) * GameManager.Instance.FinalSpeed);
Position = new Vector3(Position.X, Position.Y, newZ); // Update Z position
if(_hitSeconds - _currentTime < -0.5) QueueFree(); // Remove note
// Toggle visibility instead of removing
Visible = (newZ >= 0 && newZ <= GameManager.Instance.VisibleDistance);
}
}