Unity 狙击枪开镜

来源:互联网 发布:手机淘宝无法进入店铺 编辑:程序博客网 时间:2024/04/30 22:19

代码实现,第一人称射击,开关狙击枪的准镜,public class Sniper: MonoBehaviour {//此代码挂载到UI图片上(准星)即可实现效果  public GameObject go; //注意赋值 这是UI图片  public Camera cam;       //这是主摄像机    void Update () {           //根据是否显示准镜            if (Input.GetMouseButtonDown(1))        {            go.SetActive(!go.activeSelf);        }         if (go.activeSelf && cam.fieldOfView >= 20)        {           cam.fieldOfView -= 200 * Time.deltaTime;     }         else if (!go.activeSelf && cam.fieldOfView <= 60)       {            cam.fieldOfView += 200 * Time.deltaTime;       }}}
///////////////////////////////////////////////////////////////////////////////////////////////
    /* 此代码挂载到摄像机上        bool a = false;      //表示是否打开狙击镜效果        int count = 0;       //用来计数第几次按右键                 if (Input.GetMouseButtonDown(1))    //按下右键         {            if (count % 2 ==0)   //如果是第一次按(偶数)             {                 a = true;                    }            else            {                 a = false;            }            count++;        }        //第一次按键(开镜)并且摄像机距离较远        if (a && this.gameObject.GetComponent<Camera>().fieldOfView >= 25)        {               //获取摄像机组件(Camera)的属性fieldOfView ,,并进行缓慢移动            this.gameObject.GetComponent<Camera>().fieldOfView -= 200 * Time.deltaTime;        }        //同上,反之,,,        if (!a && this.gameObject.GetComponent<Camera>().fieldOfView <= 60)        {            this.gameObject.GetComponent<Camera>().fieldOfView += 200 * Time.deltaTime;        }       */