diff --git a/popcorn/Assets/MyGame/Scenes/MiniGame/MiniGame.unity b/popcorn/Assets/MyGame/Scenes/MiniGame/MiniGame.unity index 28951055..0a7a1b26 100644 --- a/popcorn/Assets/MyGame/Scenes/MiniGame/MiniGame.unity +++ b/popcorn/Assets/MyGame/Scenes/MiniGame/MiniGame.unity @@ -1394,8 +1394,8 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2607884839347368726, guid: acd6e6365b5fe4863aedc684a50b8028, type: 3} - propertyPath: flyingFallSpeed - value: 0.02 + propertyPath: fallAcceleration + value: 19.6 objectReference: {fileID: 0} - target: {fileID: 4931350312200274921, guid: acd6e6365b5fe4863aedc684a50b8028, type: 3} diff --git a/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/Player.cs b/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/Player.cs index 49ee7014..e1d5cf9d 100644 --- a/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/Player.cs +++ b/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/Player.cs @@ -13,8 +13,8 @@ namespace MyGame.Scenes.MiniGame.Scripts [SerializeField] private float hitWaitTime = 1f; [SerializeField] private AnimationCurve jumpAnimationCurve; [SerializeField] private AnimationCurve hitAnimationCurve; - [SerializeField] private float flyingFallSpeed; - [SerializeField] private float fallSpeed; + [SerializeField] private float flyingFallSpeed = 1f; + [SerializeField] private float fallAcceleration = 9.8f; [SerializeField] private GameObject itemHitCollider; [SerializeField] private GameObject obstacleHitCollider; [SerializeField] private GameObject level1; @@ -124,6 +124,7 @@ namespace MyGame.Scenes.MiniGame.Scripts if (isFall && active && !isFlying) { isFlying = true; + var currentSpeed = 0f; this.SafeStopCoroutine(jumpFallCoroutine); jumpHoldDisposable?.Dispose(); jumpHoldDisposable = this.UpdateAsObservable() @@ -131,8 +132,16 @@ namespace MyGame.Scenes.MiniGame.Scripts .Subscribe(_ => { // 滑空or落下切り替え - var currentSpeed = isButtonHold ? -flyingFallSpeed : -fallSpeed; - transform.AddLocalPositionY(currentSpeed); + if (isButtonHold) + { + currentSpeed = -flyingFallSpeed; + } + else + { + currentSpeed -= fallAcceleration * Time.deltaTime; + } + + transform.AddLocalPositionY(currentSpeed * Time.deltaTime); }, () => { isJump = false;