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#