From 680b483c63b02a45d24d6537c9f6c0cdb8e3365b Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 6 Apr 2022 02:50:00 +0800 Subject: =?UTF-8?q?*=E7=8E=A9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Assets/Scripts/Test/TestTopDown2DTransform.cs | 78 ++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 AlienSurvival/Assets/Scripts/Test/TestTopDown2DTransform.cs (limited to 'AlienSurvival/Assets/Scripts/Test/TestTopDown2DTransform.cs') diff --git a/AlienSurvival/Assets/Scripts/Test/TestTopDown2DTransform.cs b/AlienSurvival/Assets/Scripts/Test/TestTopDown2DTransform.cs new file mode 100644 index 0000000..acfac68 --- /dev/null +++ b/AlienSurvival/Assets/Scripts/Test/TestTopDown2DTransform.cs @@ -0,0 +1,78 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class TestTopDown2DTransform : MonoBehaviour +{ + public bool useGravity = false; + + public Vector3 position // x, y, h + { + get + { + Vector3 topdownPos = transform.position; + topdownPos.y -= h; + topdownPos.z = h; + return topdownPos; + } + set + { + h = value.z; + Vector3 realPos = transform.position; + realPos.y = value.y + h; + transform.position = realPos; + } + } + + public float x + { + get + { + return position.x; + } + } + + public float y + { + get + { + return position.y; + } + } + + public float h = 0; + + public float z + { + get + { + return transform.position.z; + } + } + + public float depth + { + get + { + return this.z; + } + } + + private float vy = 0; + + private void Update() + { + if (useGravity) + { + Vector3 pos = position; + vy += -9.8f * Time.deltaTime; + pos.z = Mathf.Max(pos.z + vy * Time.deltaTime, 0f); + if(pos.z == 0) + { + vy = 0; + } + position = pos; + } + } + +} -- cgit v1.1-26-g67d0