Unity3D(五)如何实现U3D中的鼠标控制与键盘交互功能?

2026-04-29 06:092阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计532个文字,预计阅读时间需要3分钟。

Unity3D(五)如何实现U3D中的鼠标控制与键盘交互功能?

抱歉,您提供的文本%E7%AE%80%E5%8D%95%E6%94%B9%E5%86%99%E4%BC%AA%E5%8E%9F%E5%88%9B%E4%BB%A5%E4%B8%8B%E5%BC%80%E5%A4%B4%E5%86%85%E5%AE%B9%EF%BC%8C%E4%B8%8D%E8%A6%81%E5%95%B0%E5%97%A6%EF%BC%8C%E4%B8%8D%E8%B6%85%E8%BF%87100%E4%B8%AA%E5%AD%97%EF%BC%8C%E7%9B%B4%E6%8E%A5%E8%BE%93%E5%87%BA%E7%BB%93%E6%9E%9C%EF%BC%9A%E2%80%9CC看起来像是一个编码或乱码,无法直接理解其内容。请您提供一段清晰的中文字符内容,以便我能够为您进行简化改写。

C#控制WASD键盘控制前后左右+空格键抬升高度、鼠标右键跟随旋转、滑轮控制放大缩小:

using UnityEngine; using System.Collections; public class CameraControl : MonoBehaviour { // Use this for initialization private GameObject gameObject; /** * 鼠标 */ public bool mouseControlEvent = false;//判断奇数偶数单(右)击 //模型跟随鼠标旋转改变的坐标 public float h; public float v; void Start () { gameObject = GameObject.Find ("Main Camera"); } // Update is called once per frame void Update () { //空格键抬升高度 if (Input.GetKey (KeyCode.Space)) { transform.position = new Vector3(transform.position.x,transform.position.y + 1,transform.position.z); } //w键前进 if(Input.GetKey(KeyCode.W)) { this.gameObject.transform.Translate(new Vector3(0,0,50*Time.deltaTime)); } //s键后退 if(Input.GetKey(KeyCode.S)) { this.gameObject.transform.Translate(new Vector3(0,0,-50*Time.deltaTime)); } //a键后退 if(Input.GetKey(KeyCode.A)) { this.gameObject.transform.Translate(new Vector3(-10,0,0*Time.deltaTime)); } //d键后退 if(Input.GetKey(KeyCode.D)) { this.gameObject.transform.Translate(new Vector3(10,0,0*Time.deltaTime)); } /* * 鼠标按键操作 */ //右键第一次按下为开启鼠标跟随旋转,第二次按下关闭鼠标跟随旋转 if (Input.GetMouseButtonDown(1)) { Debug.Log("鼠标右键按下"); if (!mouseControlEvent) { mouseControlEvent = true; } else { mouseControlEvent = false; } } //模型跟随鼠标旋转 if (mouseControlEvent) { h = Input.GetAxis("Mouse X"); v = Input.GetAxis("Mouse Y"); transform.Rotate(v,h,0); } /* * 通过鼠标滑轮控制放大缩小 */ //放大视角 往前滑 if (Input.GetAxis("Mouse ScrollWheel")<0) { Debug.Log("放大视角 往前滑"); if (Camera.main.fieldOfView <= 100)//小于一个放大范围后就不继续放大了 { Camera.main.fieldOfView += 5; } } //缩小视角 往后滑 if (Input.GetAxis("Mouse ScrollWheel") > 0) { Debug.Log("缩小视角 往后滑"); if (Camera.main.fieldOfView >= 10) { Camera.main.fieldOfView -= 5; } } }

参考文章:blog.csdn.net/lisenyang/article/details/48462803

Unity3D(五)如何实现U3D中的鼠标控制与键盘交互功能?

本文共计532个文字,预计阅读时间需要3分钟。

Unity3D(五)如何实现U3D中的鼠标控制与键盘交互功能?

抱歉,您提供的文本%E7%AE%80%E5%8D%95%E6%94%B9%E5%86%99%E4%BC%AA%E5%8E%9F%E5%88%9B%E4%BB%A5%E4%B8%8B%E5%BC%80%E5%A4%B4%E5%86%85%E5%AE%B9%EF%BC%8C%E4%B8%8D%E8%A6%81%E5%95%B0%E5%97%A6%EF%BC%8C%E4%B8%8D%E8%B6%85%E8%BF%87100%E4%B8%AA%E5%AD%97%EF%BC%8C%E7%9B%B4%E6%8E%A5%E8%BE%93%E5%87%BA%E7%BB%93%E6%9E%9C%EF%BC%9A%E2%80%9CC看起来像是一个编码或乱码,无法直接理解其内容。请您提供一段清晰的中文字符内容,以便我能够为您进行简化改写。

C#控制WASD键盘控制前后左右+空格键抬升高度、鼠标右键跟随旋转、滑轮控制放大缩小:

using UnityEngine; using System.Collections; public class CameraControl : MonoBehaviour { // Use this for initialization private GameObject gameObject; /** * 鼠标 */ public bool mouseControlEvent = false;//判断奇数偶数单(右)击 //模型跟随鼠标旋转改变的坐标 public float h; public float v; void Start () { gameObject = GameObject.Find ("Main Camera"); } // Update is called once per frame void Update () { //空格键抬升高度 if (Input.GetKey (KeyCode.Space)) { transform.position = new Vector3(transform.position.x,transform.position.y + 1,transform.position.z); } //w键前进 if(Input.GetKey(KeyCode.W)) { this.gameObject.transform.Translate(new Vector3(0,0,50*Time.deltaTime)); } //s键后退 if(Input.GetKey(KeyCode.S)) { this.gameObject.transform.Translate(new Vector3(0,0,-50*Time.deltaTime)); } //a键后退 if(Input.GetKey(KeyCode.A)) { this.gameObject.transform.Translate(new Vector3(-10,0,0*Time.deltaTime)); } //d键后退 if(Input.GetKey(KeyCode.D)) { this.gameObject.transform.Translate(new Vector3(10,0,0*Time.deltaTime)); } /* * 鼠标按键操作 */ //右键第一次按下为开启鼠标跟随旋转,第二次按下关闭鼠标跟随旋转 if (Input.GetMouseButtonDown(1)) { Debug.Log("鼠标右键按下"); if (!mouseControlEvent) { mouseControlEvent = true; } else { mouseControlEvent = false; } } //模型跟随鼠标旋转 if (mouseControlEvent) { h = Input.GetAxis("Mouse X"); v = Input.GetAxis("Mouse Y"); transform.Rotate(v,h,0); } /* * 通过鼠标滑轮控制放大缩小 */ //放大视角 往前滑 if (Input.GetAxis("Mouse ScrollWheel")<0) { Debug.Log("放大视角 往前滑"); if (Camera.main.fieldOfView <= 100)//小于一个放大范围后就不继续放大了 { Camera.main.fieldOfView += 5; } } //缩小视角 往后滑 if (Input.GetAxis("Mouse ScrollWheel") > 0) { Debug.Log("缩小视角 往后滑"); if (Camera.main.fieldOfView >= 10) { Camera.main.fieldOfView -= 5; } } }

参考文章:blog.csdn.net/lisenyang/article/details/48462803

Unity3D(五)如何实现U3D中的鼠标控制与键盘交互功能?