添加态势画面 移动 缩放功能

This commit is contained in:
YangHua 2024-02-02 13:33:43 +08:00
parent 66274c1bc0
commit 1445fb76e0
2 changed files with 37 additions and 18 deletions

View File

@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 1113159741}
m_IndirectSpecularColor: {r: 0.030100383, g: 0.03369107, b: 0.03534769, a: 1}
m_IndirectSpecularColor: {r: 0.017637905, g: 0.031211179, b: 0.06785975, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
@ -53144,7 +53144,7 @@ Camera:
y: 0
width: 1
height: 1
near clip plane: 0.3
near clip plane: 0
far clip plane: 1000
field of view: 60
orthographic: 1
@ -67831,9 +67831,11 @@ MonoBehaviour:
type: 3}
redShowImage: {fileID: 628155341}
blueShowImage: {fileID: 338894529}
upBtn: {fileID: 0}
downBtn: {fileID: 0}
satelliteImagery: {fileID: 0}
upBtn: {fileID: 6368481658342163396}
downBtn: {fileID: 6368481659336096937}
distance: 0
isScale: 0
satelliteImagery: {fileID: 1378295488}
--- !u!1 &1720385560
GameObject:
m_ObjectHideFlags: 0
@ -69796,7 +69798,7 @@ MonoBehaviour:
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
randSeed: 309072093
randSeed: 401617593
isDoingTransition: 0
minimumHeight: 0
--- !u!114 &1820978574

View File

@ -25,7 +25,7 @@ public class PostureController : MonoBehaviour
/// </summary>
public Camera satelliteImagery;
private Coroutine currentCoroutine;
public Coroutine currentCoroutine;
// Start is called before the first frame update
void Awake()
@ -39,36 +39,48 @@ public class PostureController : MonoBehaviour
// Update is called once per frame
void Update()
{
if (Input.GetMouseButton(0))
{
float mouseX = Input.GetAxis("Mouse X") * 10f * Time.deltaTime;
float mouseY = Input.GetAxis("Mouse Y") * 10f * Time.deltaTime;
satelliteImagery.transform.Translate(Vector3.down * mouseY * 60f);
satelliteImagery.transform.Translate(Vector3.left * mouseX * 60f);
}
}
private void OnUp()
{
satelliteImagery.orthographicSize += 10;
if (satelliteImagery.orthographicSize >= 1120)
distance = satelliteImagery.orthographicSize;
distance += 100;
if (distance >= 1120)
{
satelliteImagery.orthographicSize = 1120;
distance = 1120;
currentCoroutine = null;
return;
}
if (currentCoroutine == null)
{
currentCoroutine = StartCoroutine(Merge(satelliteImagery.orthographicSize));
isScale = true;
currentCoroutine = StartCoroutine(Merge(distance));
}
}
private void OnDown()
{
satelliteImagery.orthographicSize -= 10;
if (satelliteImagery.orthographicSize <= 200f)
distance = satelliteImagery.orthographicSize;
distance -= 100;
if (distance <= 200f)
{
satelliteImagery.orthographicSize = 200f;
distance = 200f;
currentCoroutine = null;
return;
}
if (currentCoroutine == null)
{
currentCoroutine = StartCoroutine(Merge(satelliteImagery.orthographicSize));
isScale = true;
currentCoroutine = StartCoroutine(Merge(distance));
}
}
@ -76,13 +88,14 @@ public class PostureController : MonoBehaviour
{
while (isScale)
{
yield return new WaitForSeconds(0.01f);
satelliteImagery.orthographicSize = Mathf.Lerp(satelliteImagery.orthographicSize, targetPoint, 1f);
Debug.Log("update");
satelliteImagery.orthographicSize = Mathf.Lerp(satelliteImagery.orthographicSize, targetPoint, Time.deltaTime * 20f);
if (Mathf.Abs(targetPoint - satelliteImagery.orthographicSize) < 0.1)
{
isScale = false;
currentCoroutine = null;
}
yield return new WaitForSeconds(0.01f);
}
}
@ -92,6 +105,10 @@ public class PostureController : MonoBehaviour
private void OnEnable()
{
if (currentCoroutine != null)
{
currentCoroutine = null;
}
redShowImage.transform.parent.gameObject.SetActive(false);
blueShowImage.transform.parent.gameObject.SetActive(false);
GetSceneInfo();