64 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C#
		
	
	
	
// Curved World <http://u3d.as/1W8h>
 | 
						|
// Copyright (c) Amazing Assets <https://amazingassets.world>
 | 
						|
 
 | 
						|
using UnityEngine;
 | 
						|
 | 
						|
#if USE_INPUT_SYSTEM && ENABLE_INPUT_SYSTEM
 | 
						|
using UnityEngine.InputSystem;
 | 
						|
#endif
 | 
						|
 | 
						|
 | 
						|
namespace AmazingAssets.CurvedWorld.Examples
 | 
						|
{
 | 
						|
    public class CameraPan : MonoBehaviour
 | 
						|
    {
 | 
						|
        public float moveSpeed = 1;
 | 
						|
 | 
						|
#if USE_INPUT_SYSTEM && 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;
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |