Unity 接收不到键盘按下的事件

问题描述

在看视频教程时,看到视频中为实现跳跃功能,将向上按键的检测放在了FixedUpdate中,但是实际操作时,经常会遇到按了没反应。

void FixedUpdate() {
    if (Input.GetKeyDown(KeyCode.UpArrow)) {
        GetComponent<Rigidbody2D>().AddForce(new Vector2(0, Jumpforce));
    }
}

解决方法

将按键检测放在Update中即可

原因分析

因为FixedUpdate存在漏帧的情况,它是基于秒的,或者准确的说是基于物理步更新,放在物理步的函数中处理本身就是错误的做法

参考文章
[1] 跑酷游戏的一些bug总结(滥用FixedUpdate的坑)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,676评论 25 709
  • 自从担任出版社编辑后,没想到整个生活都变得有意思起来了! 以前还在贸易公司上班时,和同事的话题不外乎就是哪间公司下...
    許瑜珊阅读 270评论 1 3
  • 11月19日,食科学院“浅酌流年”鸡尾酒会在南校区玻璃展厅成功举办,会场布置精美,酒款琳琅满目,人头攒动,好不热...
    ac49a69b0606阅读 210评论 0 0
  • 文/ 白画端 (1) 朦胧间,小幺觉得脸颊有些凉,像是有水滴在她脸上。她缓缓睁开眼睛,却见到一张血盆大口悬在她面前...
    白画端阅读 6,777评论 85 137
  • 叶酸心止水,红蕊印当中。 谁解芭蕉雨,泪流身不躬。 文 /普罗米修斯 ...
    普罗米修斯_fce8阅读 215评论 1 1