zoukankan      html  css  js  c++  java
  • unity | 一次鼠标点击,触发两次?

    我的使用场景

    一个射击游戏,由于我的update()函数中涉及到射线的检测等诸多操作,所以使用了FixedUpdate()进行。但是,我发现一次点击有时(大概率)会向服务端发送两条数据,开始以为是网络模块出了问题,使用wireshark抓包以及分析网络数据收发代码后发现,并非代码的锅。我猜测是一次点击,被检测到了两次,简单打印一下log,果然是这样的。

     解决办法:

    1. 使用FixedUpdate()不受游戏帧率的影响,可以改用update()来进行,可以实现正常的一次点击响应一次,但是画面看起来会“卡卡的”,因为update()的刷新率和设备的性能以及需要渲染的工作量有关,会比默认的FexedUpdate(要低一些,故而会“卡卡的”;

     2. 调整FixedUpdate()的固定刷新时间timestep

    Edit -> Project setting -> time -> FixedTimeStep 

    默认0.02,意味着,一秒要刷新50次,这样刷新太快可能会引起多次检测到鼠标动作(我猜测),将其调大(我调了0.033,这样相当于30fps的样子会好一些)

    参考:Unity游戏暂停之Update与FixedUpdate区别

  • 相关阅读:
    CSSText属性批量修改样式
    JS 学习(四)对象
    JS 学习(三)DOM
    JS语法(二)
    JS学习笔记(一)
    CSS3属性transition
    动画期间响应事件
    仿淘宝详情转场
    HTML 滚动标签<marquee>
    Oracle MySQL Server 安全漏洞
  • 原文地址:https://www.cnblogs.com/yocichen/p/12913456.html
Copyright © 2011-2022 走看看