Unity键盘WASD实现物体移动-创新互联

本文实例为大家分享了Unity键盘WASD实现物体移动的具体代码,供大家参考,具体内容如下

创新互联建站主营西峡网站建设的网络公司,主营网站建设方案,app软件开发公司,西峡h5小程序定制开发搭建,西峡网站营销推广欢迎西峡等地区企业咨询

1首先在场景中建立一个Capsule,将主摄像机拖到其物体下。

Unity键盘WASD实现物体移动

2.将脚本挂在Capsule物体下,WASD 控制移动方向,空格延Y轴向上移动,F延Y轴向下移动

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class MoveCam : MonoBehaviour
{
 private Vector3 m_camRot;
 private Transform m_camTransform;//摄像机Transform
 private Transform m_transform;//摄像机父物体Transform
 public float m_movSpeed=10;//移动系数
 public float m_rotateSpeed=1;//旋转系数
 private void Start()
 {
 m_camTransform = Camera.main.transform;
 m_transform = GetComponent<Transform>();
 }
 private void Update()
 {
 Control();
 }
 void Control()
 {
 if (Input.GetMouseButton(0))
 {
  //获取鼠标移动距离
  float rh = Input.GetAxis("Mouse X");
  float rv = Input.GetAxis("Mouse Y");
 
  // 旋转摄像机
  m_camRot.x -= rv * m_rotateSpeed;
  m_camRot.y += rh*m_rotateSpeed;
 
 }
 
 m_camTransform.eulerAngles = m_camRot;
 
 // 使主角的面向方向与摄像机一致
 Vector3 camrot = m_camTransform.eulerAngles;
 camrot.x = 0; camrot.z = 0;
 m_transform.eulerAngles = camrot;
 
 // 定义3个值控制移动
 float xm = 0, ym = 0, zm = 0;
 
 //按键盘W向上移动
 if (Input.GetKey(KeyCode.W))
 {
  zm += m_movSpeed * Time.deltaTime;
 }
 else if (Input.GetKey(KeyCode.S))//按键盘S向下移动
 {
  zm -= m_movSpeed * Time.deltaTime;
 }
 
 if (Input.GetKey(KeyCode.A))//按键盘A向左移动
 {
  xm -= m_movSpeed * Time.deltaTime;
 }
 else if (Input.GetKey(KeyCode.D))//按键盘D向右移动
 {
  xm += m_movSpeed * Time.deltaTime;
 }
 if (Input.GetKey(KeyCode.Space) && m_transform.position.y <= 3)
 {
  ym+=m_movSpeed * Time.deltaTime;
 }
 if (Input.GetKey(KeyCode.F) && m_transform.position.y >= 1)
 {
  ym -= m_movSpeed * Time.deltaTime;
 }
 m_transform.Translate(new Vector3(xm,ym,zm),Space.Self);
 }
}

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

网站栏目:Unity键盘WASD实现物体移动-创新互联
网站地址:https://www.cdcxhl.com/article12/phpdc.html

成都网站建设公司_创新互联,为您提供云服务器网站收录品牌网站设计网站改版网站策划企业建站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

商城网站建设