diff options
author | chai <chaifix@163.com> | 2022-04-20 20:42:02 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2022-04-20 20:42:02 +0800 |
commit | 8a8a560e5cae0a414616045a0c882e3bd98d9b06 (patch) | |
tree | 7124f75a12e329029ca7487f8ef98e93611bdbdb /AlienSurvival/Assets/Scripts/TopDown/TopDownTransform.cs | |
parent | 46349750331a73737601ab515530f72fbe98e353 (diff) |
* space beam
Diffstat (limited to 'AlienSurvival/Assets/Scripts/TopDown/TopDownTransform.cs')
-rw-r--r-- | AlienSurvival/Assets/Scripts/TopDown/TopDownTransform.cs | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/AlienSurvival/Assets/Scripts/TopDown/TopDownTransform.cs b/AlienSurvival/Assets/Scripts/TopDown/TopDownTransform.cs index db52445..b1fdefe 100644 --- a/AlienSurvival/Assets/Scripts/TopDown/TopDownTransform.cs +++ b/AlienSurvival/Assets/Scripts/TopDown/TopDownTransform.cs @@ -91,16 +91,35 @@ public class TopDownTransform : MonoBehaviour } } + // 地表坐标(Topdown空间) + public Vector3 positionOnGround + { + set + { + Vector3 pos = position; + pos.x = value.x; + pos.y = value.y; + position = pos; + Project(); + } + get + { + Vector3 pos = position; + pos.z = 0; + return pos; + } + } + /// <summary> /// “投影”,把坐标转换到Transform上 /// </summary> public void Project() { - Vector3 pos = transform.position; + Vector3 pos = transform.localPosition; pos.x = m_LocalPosition.x; pos.y = m_LocalPosition.y + m_LocalPosition.z; - transform.position = pos; + transform.localPosition = pos; } private void Start() @@ -118,23 +137,29 @@ public class TopDownTransform : MonoBehaviour Project(); } + #region 转换到3D笛卡尔空间 public Vector3 Get3DPosition() { Vector3 pos = new Vector3(); pos.x = m_LocalPosition.x; pos.y = m_LocalPosition.y + m_LocalPosition.z; - pos.z = transform.position.z; + pos.z = transform.localPosition.z; return pos; } + /// <summary> + /// 注意是在3D空间下 + /// </summary> + /// <returns></returns> public Vector3 GetGround3DPosition() { Vector3 pos = new Vector3(); pos.x = m_LocalPosition.x; pos.y = m_LocalPosition.y ; - pos.z = transform.position.z; + pos.z = transform.localPosition.z; return pos; } + #endregion #if UNITY_EDITOR private void OnDrawGizmos() |