new file: .editorconfig
new file: .gitattributes new file: Charts/track.json new file: ProjectOnrinto.csproj new file: ProjectOnrinto.sln new file: Scenes/Audio/audio_stream_player.tscn new file: Scenes/Game/level.tscn new file: Scenes/Prefabs/beat.tscn new file: Scripts/Core/GameManager.cs new file: Scripts/Core/GameManager.cs.uid new file: Scripts/Core/MusicClock.cs new file: Scripts/Core/MusicClock.cs.uid new file: Scripts/Core/TrackGenerator.cs new file: Scripts/Core/TrackGenerator.cs.uid new file: Scripts/Data/ChartEvent.cs new file: Scripts/Data/ChartEvent.cs.uid new file: Scripts/Data/JsonConverter.cs new file: Scripts/Data/JsonConverter.cs.uid new file: Scripts/Data/TrackData.cs new file: Scripts/Data/TrackData.cs.uid new file: Scripts/GameObjects/NoteObject.cs new file: Scripts/GameObjects/NoteObject.cs.uid new file: icon.svg new file: icon.svg.import new file: project.godot
This commit is contained in:
39
Scripts/GameObjects/NoteObject.cs
Normal file
39
Scripts/GameObjects/NoteObject.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using Godot;
|
||||
using Onrinto.Chart;
|
||||
|
||||
public partial class NoteObject : Node3D
|
||||
{
|
||||
private double _hitSeconds;
|
||||
private bool _isHit = false;
|
||||
private bool _initialized = false;
|
||||
|
||||
public void Initialize(ChartEvent chartEvent, double hitSeconds, float initialZ)
|
||||
{
|
||||
_hitSeconds = hitSeconds;
|
||||
Position = new Vector3(chartEvent.Position.X, chartEvent.Position.Y, initialZ);
|
||||
|
||||
_initialized = true;
|
||||
}
|
||||
|
||||
// Called when the node enters the scene tree for the first time.
|
||||
public override void _Ready()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
public override void _Process(double delta)
|
||||
{
|
||||
if (!_initialized) return;
|
||||
|
||||
float speed = 20.0f; // Scroll speed
|
||||
|
||||
double _currentTime = MusicClock.Instance.CurrentTime;
|
||||
|
||||
float newZ = (float)((_hitSeconds - _currentTime) * speed);
|
||||
Position = new Vector3(Position.X, Position.Y, newZ); // Update Z position
|
||||
|
||||
if(_hitSeconds - _currentTime < -0.5) QueueFree(); // Remove note
|
||||
|
||||
}
|
||||
}
|
||||
1
Scripts/GameObjects/NoteObject.cs.uid
Normal file
1
Scripts/GameObjects/NoteObject.cs.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://budeg56m55hkr
|
||||
Reference in New Issue
Block a user