测试目的

探究分别在Update和FixedUpdate使用GetKeyDown执行次数,会不同的

测试开始

在Update测试

我们先在Update测试,很正常是一帧重置一下状态,以防止点击一下执行多次,请看代码

private void Update()
{
if (Input.GetKeyDown(KeyCode.J))
{
count += 1;
Debug.Log(count);
}
if (Input.GetKeyUp(KeyCode.J))
{
count = 0;
}
}

测试结果

在FixedUpdate测试(默认每秒执行50帧的情况下)

修改FixedUpdate每秒执行帧率可以在Project > Time > Fixed Timestep设置,不修改也就是0.02,s为单位,每多少s执行一次

void FixedUpdate()
{
if (Input.GetKeyDown(KeyCode.J))
{
count += 1;
Debug.Log(count);
}
if (Input.GetKeyUp(KeyCode.J))
{
count = 0;
}
}

测试结果

是不是很迷惑?很正常

请看Unity GetKeyDown的官方解释

如果你放到FixedUpdate它也会按照Update执行帧率进行重置,有时会有误差,因为FixedUpdate和Update执行帧率不同,修改固定帧率即可更接近Update执行结果

这些都是我的个人理解,非常感谢您看我的这篇文章

分别在Update和FixedUpdate使用GetKeyDown的更多相关文章

  1. Unity游戏暂停之Update与FixedUpdate区别

    游戏暂停 示例程序 下面这段代码演示游戏暂停 using UnityEngine; using System.Collections; public class GamePauseTest : Mon ...

  2. Unity3D中Update()与FixedUpdate()的区别

    Unity3D中Update()与FixedUpdate()的区别是什么呢?从字面上理解,它们都是在更新时会被调用,并且会循环的调用.但是Update会在每次渲染新的一帧时,被调用.而FixedUpd ...

  3. 【转】 Update和FixedUpdate的区别

    MonoBehaviour.Update 更新 当MonoBehaviour启用时,其Update在每一帧被调用. MonoBehaviour.FixedUpdate 固定更新 当MonoBehavi ...

  4. update与fixedupdate差别

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2D开发网--Cocos2Dev.com,谢谢! 原文地址: http://www.cocos2dev.com/?p=307 今天有人问我问什么我在处 ...

  5. [Unity-7] Update和FixedUpdate

    1.Update和FixedUpdate这是Unity既用内提供的帧功能接口相关联. Update():这个函数里面的内容每一帧都会被运行一次.这个函数有一个特点,那就是运行的频率等于帧率.而这个帧率 ...

  6. Cocos2d中update与fixedUpdate的区别(六)

    它如何工作呢? update:和fixedUpdate:方法实际这样工作. Cocos2D将从iOS接口中取得时间间隔(delta)在你的游戏代码执行期间,并且检查fixedUpdate:方法在间隔期 ...

  7. Cocos2d中update与fixedUpdate的区别(五)

    在真实情况中update:和fixedUpdate方法如何去调用? 由上所述,所以update方法在每帧被调用1次,从而给你一个机会去更新你的游戏对象的状态在其绘制之前.而fixedUpdate:方法 ...

  8. Cocos2d中update与fixedUpdate的区别(一)

    原文链接 关于这个问题cocos2d中的fixedUpdate:(或者是Unity中的FixedUpdate)在不同论坛中出现略显频繁.它被回答过很多次了,不管如何,每次一些童鞋在得到答案后还是有一些 ...

  9. Unity3D Update() 和 FixedUpdate()区别

    Unity3D中 Update()与FixedUpdate()的区别是什么呢?从字面上理解,它们都是在更新时会被调用,并且会循环的调用.但是Update会在每次渲 染新的一帧时,被调用.而FixedU ...

随机推荐

  1. 3D点云重建原理及Pytorch实现

    3D点云重建原理及Pytorch实现 Pytorch: Learning Efficient Point Cloud Generation for Dense 3D Object Reconstruc ...

  2. 九、Nginx常见问题处理

    优化Nginx并发量 优化软件进程数.优化软件最大并发连接数限制.优化内核连接数限制open files(临时和永久同时设置)   [root@proxy ~]# ab -n 2000 -c 2000 ...

  3. 排查bug:竟然是同事把Redis用成这鬼样子,坑了我

    首先说下问题现象:内网sandbox环境API持续1周出现应用卡死,所有api无响应现象 刚开始当测试抱怨环境响应慢的时候 ,我们重启一下应用,应用恢复正常,于是没做处理.但是后来问题出现频率越来越频 ...

  4. redis学习第二天

    Redis 在 2.8.9 版本之后添加了 HyperLogLog 结构 Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常 ...

  5. Netty 框架学习 —— 编解码器框架

    编解码器 每个网络应用程序都必须定义如何解析在两个节点之间来回传输的原始字节,以及如何将其和目标应用程序的数据格式做相互转换.这种转换逻辑由编解码器处理,编解码器由编码器和解码器组成,它们每种都可以将 ...

  6. 关于Excel中表格转Markdown格式的技巧

    背景介绍 Excel文件转Markdown格式的Table是经常会遇到的场景. Visual Studio Code插件 - Excel to Markdown table Excel to Mark ...

  7. 30、LNAP(php和nginx相关优化)

    30.1.php-fpm.conf参数优化: [global] pid = run/php-fpm.pid #php后台运行pid路径 error_log = log/php-fpm.log #php ...

  8. AcWing 1275. 最大数

    #include<bits/stdc++.h> #define N 1000100 using namespace std; struct node { int l,r; int data ...

  9. MySql:Navicat 连接不上虚拟机上的mysql容器

    1.问题显示 通过windows主机navicat连接虚拟的mysql时报如下错误. 2.问题原因 由于navicat版本的问题,出现连接失败的原因:mysql8 之前的版本中加密规则是mysql_n ...

  10. <jsp:param>传递参数,出现乱码问题

    今天在学习<jsp:forward>和<jsp:param>时,用<jsp:param>传递参数时,出现乱码问题,部分代码如下: 1 <jsp:forward ...