summaryrefslogtreecommitdiff
path: root/AlienSurvival/Assets/Scripts/TopDown/TopDownTransform.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2022-04-20 20:42:02 +0800
committerchai <chaifix@163.com>2022-04-20 20:42:02 +0800
commit8a8a560e5cae0a414616045a0c882e3bd98d9b06 (patch)
tree7124f75a12e329029ca7487f8ef98e93611bdbdb /AlienSurvival/Assets/Scripts/TopDown/TopDownTransform.cs
parent46349750331a73737601ab515530f72fbe98e353 (diff)
* space beam
Diffstat (limited to 'AlienSurvival/Assets/Scripts/TopDown/TopDownTransform.cs')
-rw-r--r--AlienSurvival/Assets/Scripts/TopDown/TopDownTransform.cs33
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()