summaryrefslogtreecommitdiff
path: root/AlienSurvival/Assets/Scripts/Test/TestAstro.cs
diff options
context:
space:
mode:
Diffstat (limited to 'AlienSurvival/Assets/Scripts/Test/TestAstro.cs')
-rw-r--r--AlienSurvival/Assets/Scripts/Test/TestAstro.cs77
1 files changed, 77 insertions, 0 deletions
diff --git a/AlienSurvival/Assets/Scripts/Test/TestAstro.cs b/AlienSurvival/Assets/Scripts/Test/TestAstro.cs
new file mode 100644
index 0000000..3b4df18
--- /dev/null
+++ b/AlienSurvival/Assets/Scripts/Test/TestAstro.cs
@@ -0,0 +1,77 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class TestAstro : MonoBehaviour
+{
+ [SerializeField] private Transform m_Camera;
+
+ [SerializeField] private float m_Speed;
+
+ [SerializeField] private SpriteRenderer m_Shadow;
+
+ private SpriteRenderer m_SpriteRenderer;
+ private TestFakeHeight m_FakeHeight;
+
+
+
+ void Start()
+ {
+ m_SpriteRenderer = GetComponent<SpriteRenderer>();
+ m_FakeHeight = GetComponent<TestFakeHeight>();
+ }
+
+ void Update()
+ {
+ float x = Input.GetAxisRaw("Horizontal");
+ float y = Input.GetAxisRaw("Vertical");
+
+ Vector3 targetZoom = Vector3.one;
+
+ if(x != 0 || y != 0)
+ {
+ targetZoom = new Vector3(1f, 1f, 1);
+
+ Vector2 direction = new Vector2(x, y).normalized;
+
+ Vector3 position = transform.position;
+ position.x += direction.x * m_Speed * Time.deltaTime;
+ position.y += direction.y * m_Speed * Time.deltaTime;
+
+ transform.position = position;
+
+ if (x > 0)
+ {
+ m_SpriteRenderer.flipX = false;
+ m_Shadow.flipX = false;
+ }
+ else if (x < 0)
+ {
+ m_SpriteRenderer.flipX = true;
+ m_Shadow.flipX = true;
+ }
+ }
+ else
+ {
+ targetZoom = new Vector3(0.5f, 0.5f, 1);
+ }
+
+ Vector3 zoom = m_Camera.localScale;
+ m_Camera.localScale = Vector3.Lerp(zoom, targetZoom, Time.deltaTime);
+
+ CameraFollow();
+ }
+
+ void CameraFollow()
+ {
+ Vector3 pos = m_Camera.position;
+ pos.x = m_FakeHeight.x;
+ pos.y = m_FakeHeight.y;
+
+ if(Vector3.Distance(pos, m_Camera.position) > 0.1f)
+ {
+ m_Camera.position = Vector3.Lerp(m_Camera.position, pos, 3 * Time.deltaTime);
+ }
+
+ }
+}