zoukankan      html  css  js  c++  java
  • unity3d协同不同设备的代码

    unity3d的脚本代码中,Update()函数每一帧都会运行一次。

    假设有这两台设备:一台超级四路泰坦计算机,一台旧手机,它们一起运行一个赛跑游戏,Update()函数每一帧运行一次,游戏中的小人就会向前跑一米。

    很明显,超级计算机的帧率,也就是fps会比旧手机要高得多,假设超级计算机fps平均值为100,旧手机的fps平均值为30,那么假设超级计算机运行的游戏中的小人每秒钟向前跑100米,而旧手机中的小人只会跑30米。这种是不公平的,那么在不同设备下,如何让两个小人跑的速度一样?很简单,只要在速度上乘以一个Time.deltaTime就可以了。

    具体代码如下:

    private int speed = 1;
    transform.Translate (Vector3.down * speed * Time.deltaTime);

    其中speed为自定义的一个值。

    Time.deltaTime为系统提供的方法,其值为只读,为1/fps,那么,我们通过计算可以看是否有协同的作用。

    超级计算机:

    每一秒调用update函数100次,speed*Time.deltaTime*100=1*1/100*100=1;

    手机:

    每一秒调用update函数30次,speed*Time.deltaTime*30=1*1/30*30=1;

    由此可见,可以实现不同设备间的同步。(即,让运行速度快的设备上的小人跑的慢一点,让运行设备快的设备跑的慢一点)

  • 相关阅读:
    pip python代码
    Saltstack module http 详解
    Saltstack module hosts 详解
    Saltstack module highstate_doc 详解
    Saltstack module hashutil 详解
    Saltstack module group 详解
    Saltstack module grains 详解
    Saltstack module grafana4 详解
    Saltstack module google_chat 详解
    Saltstack module gnome 详解
  • 原文地址:https://www.cnblogs.com/chenyangsocool/p/6945889.html
Copyright © 2011-2022 走看看