gameplay所有基本功能都装了,加入了全局警告。加入飘字等各种东西。
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
using System.Collections;
|
||||
using System.Collections;
|
||||
using UnityEngine;
|
||||
|
||||
public class NoteController : MonoBehaviour
|
||||
@@ -8,6 +8,7 @@ public class NoteController : MonoBehaviour
|
||||
private bool isInJudgeZone = false; // Documentation text normalized.
|
||||
private ParticleSystem hitEffect;
|
||||
private Note linkedNote;
|
||||
private bool useAbsolutePositioning = false;
|
||||
|
||||
// For absolute position tracking instead of relative translate
|
||||
private Vector3 spawnPosition;
|
||||
@@ -23,7 +24,7 @@ public class NoteController : MonoBehaviour
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (isMoving && activationTime >= 0f)
|
||||
if (isMoving && useAbsolutePositioning)
|
||||
{
|
||||
// Use absolute positioning based on elapsed time since activation
|
||||
float elapsedSinceActivation = Time.time - activationTime;
|
||||
@@ -63,11 +64,22 @@ public class NoteController : MonoBehaviour
|
||||
spawnPosition = initialSpawnPos;
|
||||
activationTime = hitTime - travelTime;
|
||||
baseSpawnYOffset = initialYOffset;
|
||||
useAbsolutePositioning = true;
|
||||
transform.position = GetExpectedPosition(Time.time);
|
||||
|
||||
if (JudgeManager.IsDebugEnabled)
|
||||
Debug.Log($"[NoteController] Configured: spawnPos={spawnPosition}, activationTime={activationTime:F3}, initialYOffset={initialYOffset:F4}");
|
||||
}
|
||||
|
||||
public Vector3 GetExpectedPosition(float time)
|
||||
{
|
||||
float elapsedSinceActivation = time - activationTime;
|
||||
float travelDistance = speed * Mathf.Max(0f, elapsedSinceActivation);
|
||||
Vector3 newPos = spawnPosition;
|
||||
newPos.y -= (baseSpawnYOffset + travelDistance);
|
||||
return newPos;
|
||||
}
|
||||
|
||||
public void ResetState()
|
||||
{
|
||||
speed = 0f;
|
||||
@@ -76,6 +88,7 @@ public class NoteController : MonoBehaviour
|
||||
activationTime = -1f;
|
||||
baseSpawnYOffset = 0f;
|
||||
spawnPosition = transform.position;
|
||||
useAbsolutePositioning = false;
|
||||
|
||||
if (hitEffect != null)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user