Revision: 65993
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at February 24, 2014 05:41 by joseques
Initial Code
using UnityEngine; using System.Collections; public class CameraLimiter : MonoBehaviour { public float minX = 0; public float maxX = 90; public float minY = 0; public float maxY = 10; public float minSize = 3; public float maxSize = 10; public float zoomSpeed = 10; public float deftZoom = 5; private bool reset; void Update () { float X = Mathf.Clamp(transform.position.x,minX ,maxX); float Y = Mathf.Clamp(transform.position.y,minY ,maxY); transform.position = new Vector3(X, Y, transform.position.z); checkZoom(); } void checkZoom(){ if(Input.GetButton("zoomIn") || Input.GetAxis("Mouse ScrollWheel") > 0){ float clamped = Mathf.Clamp(camera.orthographicSize-(Time.deltaTime*zoomSpeed), minSize, maxSize); camera.orthographicSize = clamped; } else if(Input.GetButton("zoomOut") || Input.GetAxis("Mouse ScrollWheel") < 0){ float clamped = Mathf.Clamp(camera.orthographicSize+(Time.deltaTime*zoomSpeed), minSize, maxSize); camera.orthographicSize = clamped; } else if(Input.GetButton("resetZoom") || Input.GetMouseButtonUp(2)){ reset = true; StartCoroutine("cameraReset"); } } IEnumerator cameraReset() { while(reset){ camera.orthographicSize = Mathf.Lerp(camera.orthographicSize, deftZoom, (Time.deltaTime*zoomSpeed)); if(Mathf.Approximately(camera.orthographicSize, deftZoom)) reset = false; yield return null; } } }
Initial URL
Initial Description
For UnityAnswers
Initial Title
CameraFollower.cs
Initial Tags
Initial Language
C#