using UnityEngine;
using System.Collections;
[AddComponentMenu("Camera-Control/MouseLook")]
public class MouseLook : MonoBehaviour {
//枚举角色目标位置
public enum RotationAxes {MouseXAndY = 0,MouseX = 1,MouseY = 2}
public RotationAxes axes = RotationAxes.MouseXAndY;
float rotationY = 0F;
//鼠标准心
public Texture2D tex_fire;
void Start ()
{
//取消默认鼠标图标
Screen.showCursor = false;
if(rigidbody)
rigidbody.freezeRotation = true;
}
// Update is called once per frame
void Update ()
{
//计算摄像头的旋转
if(axes == RotationAxes.MouseX)
{
//旋转角色
transform.Rotate(0,Input.GetAxis("Mouse X"),0);
}
else
{
//设置角色欧拉角
transform.localEulerAngles = new Vector3(-rotationY,transform.localEulerAngles.y,0);
}
}
void OnGUI()
{
if(tex_fire)
{
//绘制鼠标准心
float x = Input.mousePosition.x - (tex_fire.width>>1);
float y = Input.mousePosition.y + (tex_fire.height>>1);
GUI.DrawTexture(new Rect(x,Screen.height - y,tex_fire.width,tex_fire.height),tex_fire);
}
}
}