今天仔细重新研究了下移动操作,发现input.key那种方法纯属是讨巧操作,实际上它并不好用,在高性能电脑中,我们的电脑每帧有可能会运行上千帧,如果采用这种方法会发生发卡顿,远远没有以下方案丝滑

方案来自unity官网教学视频改写本篇博客内容,原网址如下:

Lesson 2.1 - Player Positioning - Unity Learnhttps://learn.unity.com/tutorial/lesson-2-1-control-player-bounds-with-if-then-statements?uv=2020.3&missionId=5f71fe63edbc2a00200e9de0&pathwayId=5f7e17e1edbc2a5ec21a20af&contentId=5f7229b2edbc2a001f834db7&projectId=5cdcc312edbc2a24a41671e6#首先我们先

1.在场景中建一个模型。

2创建一个脚本,挂载到模型上。

然后再脚本中代码书写如下:

    //声明部分public float horizontalinput;//水平参数public float Verticalinput;//垂直参数float speed=10.0f;//声明一个参数,没有规定//在update中书写void Update(){horizontalinput = Input.GetAxis("Horizontal");//AD方向控制Verticalinput = Input.GetAxis("Vertical");//WS方向控制this.transform.Translate(Vector3.right * horizontalinput * Time.deltaTime * speed);控制该物体向侧方移动this.transform.Translate(Vector3.forward*  Verticalinput * Time.deltaTime * speed);//控制该物体向前后移动}

之后保存,你就会发现即使WA、WD、AS、SD一起按也会有移动效果

-------------------------------------------------------

WA、WD、AS、SD一起按也会有移动效果,但是你会发现他们在斜着移动时速度变快了

于是加入以下代码进行限制他们斜着移动的速度

        if (horizontalinput!=0&&Verticalinput!=0){horizontalinput = horizontalinput * 0.6f;Verticalinput = Verticalinput * 0.6f;}

最后完善的代码:

    //声明部分public float horizontalinput;//水平参数public float Verticalinput;//垂直参数float speed=10.0f;//声明一个参数,没有规定//在update中书写void Update(){horizontalinput = Input.GetAxis("Horizontal");//AD方向控制Verticalinput = Input.GetAxis("Vertical");if (horizontalinput!=0&&Verticalinput!=0){horizontalinput = horizontalinput * 0.6f;Verticalinput = Verticalinput * 0.6f;}//WS方向控制this.transform.Translate(Vector3.right * horizontalinput * Time.deltaTime * speed);控制该物体向侧方移动this.transform.Translate(Vector3.forward*  Verticalinput * Time.deltaTime * speed);//控制该物体向前后移动}

unity键盘控制移动操作(WASD)篇相关推荐

  1. java键盘监听wasd控制,基于数据分析定制一块好键盘

    [作者: 0han] 首先推荐一个机械键盘品牌"WASD"(链接), 所有的机械轴都是cherry原厂的,他支持用户自定义每个键帽的颜色,先展示一张配色: 有没有nmd的既视感.. ...

  2. ROS探索总结(七)(八)(九)——smartcar源码上传 键盘控制 操作杆控制

    ROS探索总结(七)--smartcar源码上传 看到前面写的博客还是帮助了很多ROS的学习者,我感到非常荣幸.其实我也是一名ROS的新手,ROS的相关资料少,上手难度大,我现在也在摸索着学习,还希望 ...

  3. ros----键盘控制机器人(2)【键盘控制文件书写】

    一.前言 在上一篇我们着重写了键盘控制的整体思路和launch文件的书写,这一篇,我就着重写一下我从网上找到的键盘控制cpp代码和python代码. let's go!!!!!! 二.代码集合 1.c ...

  4. OpenGL南邮计算机图形学实验报告四——用键盘控制物体

    OpenGL南邮计算机图形学实验报告四--用键盘控制物体 计算机图形学的新题目要求 OpenGL配置参考: 南邮老前辈wonz哥的OpenGL配置(Shader.h始终不用改).SOIL2 环境配置. ...

  5. (程序员必备技能)基于Python的鼠标与键盘控制实战扩展与源码

    (程序员必备技能)基于Python的鼠标与键盘控制实战与源码 文章目录 (程序员必备技能)基于Python的鼠标与键盘控制实战与源码 一.序言 二.配置环境 1.下载pyautogui包 三.鼠标控制 ...

  6. Unity性能优化 :合批篇

    前言 本系列为一些性能优化的小知识,是日常游戏开发中与性能表现的一些点,本篇为该系列文章的第二篇,前篇链接: 第一篇: Unity性能优化:资源篇 在早期Unity中,对于合批的处理手段主要是下面三种 ...

  7. unity中控制游戏物体移动最基本的三种方法

    **unity**中控制游戏物体移动的最基本的三种方法 第一种移动方法-transform.Translate,游戏物体按照你给的方向和速度进行运动 代码如下: Public float speed; ...

  8. 小车yolo机械臂(一)ros下gazebo搭建小车(可键盘控制)安装摄像头仿真 加载yolo检测识别标记物体

    ros下gazebo搭建小车(可键盘控制)安装摄像头仿真 加载yolo检测识别标记物体 目录总览 一,项目代码下载 二,ros下实现darknet_ros(YOLO V3)检测 2.1 编译整个项目 ...

  9. 多旋翼无人机仿真 rotors_simulator:用键盘控制无人机飞行

    多旋翼无人机仿真 rotors_simulator:用键盘控制无人机飞行 前言 书接上文 接口测试 键盘指令发布 指令转换与发布 修改 rotors_simulator 的控制接口节点 测试 前言 R ...

最新文章

  1. SQL Server 中各个系统表的作用
  2. java交通工具的类继承代码_Java作业-交通工具继承
  3. nginx的4个学习资料
  4. sklearn LDA降维算法
  5. React开发(129):ant design学习指南之form中的layout
  6. PHP实现9x9乘法表
  7. Java 基础(十九)代理
  8. OpenCV关于隐马尔科夫模型的结构和函数
  9. 零基础如何学习C语言
  10. 跨交换机的VLAN 部署
  11. 电子元器件筛选公司/费用-电子元器件筛选方法与技术要求
  12. daemontools的安装、简介
  13. C语言———指针(1.3间接寻址运算符)
  14. 最新免费网站空间申请网站集合
  15. html5 tbody,tbody
  16. mysql localhost可以连接,输入ip地址连接访问被拒绝
  17. 通过深度学习实现对网络异常流量检测
  18. 成长,进一寸有一寸的欢喜
  19. python设置坐标轴刻度宽度_使用轴网格matplotlib时设置刻度宽度
  20. 击石乃有火:华为云的生长逻辑

热门文章

  1. 计算机音乐谱夜空中最亮的星歌词,夜空中最亮的星歌谱及歌词
  2. typora脚注的快捷键
  3. 拍照应用竞争升级,坐拥15亿用户的美图如何打好防御战?
  4. 软件测试必学内容,你都掌握了吗?
  5. 晕菜..调试的死机..
  6. 知网复制太麻烦了?试试这个方法
  7. c语言中f1等于f2详细意思,请c语言高手给我讲解一下这个题
  8. Java的socket简单语法实例以及多线程
  9. openwrt 编写一个helloworld程序
  10. php5217 0day,知道创宇:最新版DEDECMS存SQL注入0day漏洞