60 lines
1.4 KiB
C#
60 lines
1.4 KiB
C#
using UnityEngine;
|
|
|
|
#if ENABLE_INPUT_SYSTEM
|
|
using UnityEngine.InputSystem;
|
|
#endif
|
|
|
|
|
|
namespace AmazingAssets.CurvedWorld.Example
|
|
{
|
|
public class CameraPan : MonoBehaviour
|
|
{
|
|
public float moveSpeed = 1;
|
|
|
|
#if ENABLE_INPUT_SYSTEM
|
|
Key moveLeft = Key.A;
|
|
Key moveRight = Key.D;
|
|
Key moveUp = Key.W;
|
|
Key moveDown = Key.S;
|
|
#else
|
|
KeyCode moveLeft = KeyCode.A;
|
|
KeyCode moveRight = KeyCode.D;
|
|
KeyCode moveUp = KeyCode.W;
|
|
KeyCode moveDown = KeyCode.S;
|
|
#endif
|
|
|
|
void Update()
|
|
{
|
|
bool mLeft = ExampleInput.GetKey(moveLeft);
|
|
bool mRight = ExampleInput.GetKey(moveRight);
|
|
bool mUp = ExampleInput.GetKey(moveUp);
|
|
bool mDown = ExampleInput.GetKey(moveDown);
|
|
|
|
float h = 0;
|
|
if ((mLeft && mRight) || (!mLeft && !mRight))
|
|
h = 0;
|
|
else if (mLeft)
|
|
h = -1;
|
|
else if (mRight)
|
|
h = 1;
|
|
|
|
float v = 0;
|
|
if ((mUp && mDown) || (!mUp && !mDown))
|
|
v = 0;
|
|
else if (mUp)
|
|
v = 1;
|
|
else if (mDown)
|
|
v = -1;
|
|
|
|
|
|
|
|
Vector3 newPos = transform.position + new Vector3(h, 0, v) * moveSpeed * Time.deltaTime;
|
|
|
|
newPos.x = Mathf.Clamp(newPos.x, -35, 35f);
|
|
newPos.z = Mathf.Clamp(newPos.z, -35, 35f);
|
|
|
|
|
|
transform.position = newPos;
|
|
}
|
|
}
|
|
} |