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;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|