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区别

  • 相关阅读:
    基本数据类型和包装数据类型
    编程英语多样化(长期更新)
    jdk,jre,jvm,openJdk
    英语句子频率印象流
    单击单选按钮换成图片
    标签注意事项:
    背景图片处理
    天猫导航栏
    百度地图
    两栏布局
  • 原文地址:https://www.cnblogs.com/yocichen/p/12913456.html
Copyright © 2011-2022 走看看