unity键盘控制移动操作(WASD)篇
今天仔细重新研究了下移动操作,发现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)篇相关推荐
- java键盘监听wasd控制,基于数据分析定制一块好键盘
[作者: 0han] 首先推荐一个机械键盘品牌"WASD"(链接), 所有的机械轴都是cherry原厂的,他支持用户自定义每个键帽的颜色,先展示一张配色: 有没有nmd的既视感.. ...
- ROS探索总结(七)(八)(九)——smartcar源码上传 键盘控制 操作杆控制
ROS探索总结(七)--smartcar源码上传 看到前面写的博客还是帮助了很多ROS的学习者,我感到非常荣幸.其实我也是一名ROS的新手,ROS的相关资料少,上手难度大,我现在也在摸索着学习,还希望 ...
- ros----键盘控制机器人(2)【键盘控制文件书写】
一.前言 在上一篇我们着重写了键盘控制的整体思路和launch文件的书写,这一篇,我就着重写一下我从网上找到的键盘控制cpp代码和python代码. let's go!!!!!! 二.代码集合 1.c ...
- OpenGL南邮计算机图形学实验报告四——用键盘控制物体
OpenGL南邮计算机图形学实验报告四--用键盘控制物体 计算机图形学的新题目要求 OpenGL配置参考: 南邮老前辈wonz哥的OpenGL配置(Shader.h始终不用改).SOIL2 环境配置. ...
- (程序员必备技能)基于Python的鼠标与键盘控制实战扩展与源码
(程序员必备技能)基于Python的鼠标与键盘控制实战与源码 文章目录 (程序员必备技能)基于Python的鼠标与键盘控制实战与源码 一.序言 二.配置环境 1.下载pyautogui包 三.鼠标控制 ...
- Unity性能优化 :合批篇
前言 本系列为一些性能优化的小知识,是日常游戏开发中与性能表现的一些点,本篇为该系列文章的第二篇,前篇链接: 第一篇: Unity性能优化:资源篇 在早期Unity中,对于合批的处理手段主要是下面三种 ...
- unity中控制游戏物体移动最基本的三种方法
**unity**中控制游戏物体移动的最基本的三种方法 第一种移动方法-transform.Translate,游戏物体按照你给的方向和速度进行运动 代码如下: Public float speed; ...
- 小车yolo机械臂(一)ros下gazebo搭建小车(可键盘控制)安装摄像头仿真 加载yolo检测识别标记物体
ros下gazebo搭建小车(可键盘控制)安装摄像头仿真 加载yolo检测识别标记物体 目录总览 一,项目代码下载 二,ros下实现darknet_ros(YOLO V3)检测 2.1 编译整个项目 ...
- 多旋翼无人机仿真 rotors_simulator:用键盘控制无人机飞行
多旋翼无人机仿真 rotors_simulator:用键盘控制无人机飞行 前言 书接上文 接口测试 键盘指令发布 指令转换与发布 修改 rotors_simulator 的控制接口节点 测试 前言 R ...
最新文章
- SQL Server 中各个系统表的作用
- java交通工具的类继承代码_Java作业-交通工具继承
- nginx的4个学习资料
- sklearn LDA降维算法
- React开发(129):ant design学习指南之form中的layout
- PHP实现9x9乘法表
- Java 基础(十九)代理
- OpenCV关于隐马尔科夫模型的结构和函数
- 零基础如何学习C语言
- 跨交换机的VLAN 部署
- 电子元器件筛选公司/费用-电子元器件筛选方法与技术要求
- daemontools的安装、简介
- C语言———指针(1.3间接寻址运算符)
- 最新免费网站空间申请网站集合
- html5 tbody,tbody
- mysql localhost可以连接,输入ip地址连接访问被拒绝
- 通过深度学习实现对网络异常流量检测
- 成长,进一寸有一寸的欢喜
- python设置坐标轴刻度宽度_使用轴网格matplotlib时设置刻度宽度
- 击石乃有火:华为云的生长逻辑