diff options
author | chai <215380520@qq.com> | 2023-10-27 11:05:14 +0800 |
---|---|---|
committer | chai <215380520@qq.com> | 2023-10-27 11:05:14 +0800 |
commit | 766cdff5ffa72b65d7f106658d1603f47739b2ba (patch) | |
tree | 34d7799a94dfa9be182825577583c0fa6dc935f7 /GameCode/PlayerFollowGround.cs |
+ init
Diffstat (limited to 'GameCode/PlayerFollowGround.cs')
-rw-r--r-- | GameCode/PlayerFollowGround.cs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/GameCode/PlayerFollowGround.cs b/GameCode/PlayerFollowGround.cs new file mode 100644 index 0000000..c200f89 --- /dev/null +++ b/GameCode/PlayerFollowGround.cs @@ -0,0 +1,30 @@ +using UnityEngine; + +public class PlayerFollowGround : MonoBehaviour +{ + private CharacterData data; + + private Vector2 lastPos; + + private Rigidbody2D lastRig; + + private void Start() + { + data = GetComponent<CharacterData>(); + } + + private void FixedUpdate() + { + if (data.standOnRig == null || !data.isGrounded) + { + lastPos = Vector2.zero; + return; + } + if (lastPos != Vector2.zero && data.standOnRig == lastRig) + { + data.playerVel.transform.position = data.playerVel.position + (data.standOnRig.position - lastPos); + } + lastPos = data.standOnRig.position; + lastRig = data.standOnRig; + } +} |