Unity游戏暂停之Update与FixedUpdate区别
游戏暂停
示例程序
下面这段代码演示游戏暂停
using UnityEngine;
using System.Collections; public class GamePauseTest : MonoBehaviour
{
public float moveSpeed = 2.0f; void Update ()
{
//move
transform.Translate (new Vector3 (, , moveSpeed * Time.deltaTime));
} void OnGUI ()
{ if (GUI.Button (new Rect (, , , ), "暂停")) {
Time.timeScale = ;
} if (GUI.Button (new Rect (, , , ), "继续")) {
Time.timeScale = ;
}
}
}
注意事项
示例中的 速度*Time.deltaTime ,目的是保证游戏运行在 帧数不同的情况下角色移动速度都一样,因为此时角色是按时间移动与帧数无关。
Update和FixedUpdate区别
FPS=2的情况

FPS=60的情况

Update和FPS有关
从上面的两幅图可以看了,当FPS为2时,update打印的次数特别少,而当FPS改为60时,update打印的次数就明显提高了很多
总结
update跟当前平台的帧数有关,而FixedUpdate是真实时间,所以处理物理逻辑的时候要把代码放在FixedUpdate而不是Update.
Update
Update是在每次渲染新的一帧的时候才会调用,也就是说,这个函数的更新频率和设备的性能有关以及被渲染的物体(可以认为是三角形的数量)。在性能好的机器上可能fps 30,差的可能小些。这会导致同一个游戏在不同的机器上效果不一致,有的快有的慢。因为Update的执行间隔不一样了。
FixedUpdate
FixedUpdate是在固定的时间间隔执行,不受游戏帧率的影响。Tick:在处理Rigidbody的时候最好用FixedUpdate。
修改FixedUpdaet
FixedUpdate的时间间隔可以在项目设置中更改,点击 Edit - Project Setting - time 找到 Fixed timestep,就可以修改了。
Unity游戏暂停之Update与FixedUpdate区别的更多相关文章
- Unity之Update与FixedUpdate区别
下面这段代码演示游戏暂停 using UnityEngine; using System.Collections; public class GamePauseTest : MonoBehaviour ...
- Update与FixedUpdate区别
以下的代码能使游戏暂停,记得要使速度*Time.deltaTime,目的是保证游戏运行在帧数不同的情况下,角色移动速度都一样,因为此时角色是按时间移动与帧数无关. using UnityEngine; ...
- Unity3D Update() 和 FixedUpdate()区别
Unity3D中 Update()与FixedUpdate()的区别是什么呢?从字面上理解,它们都是在更新时会被调用,并且会循环的调用.但是Update会在每次渲 染新的一帧时,被调用.而FixedU ...
- Unity 脚本中的update,fixedupdate,lateupdate
先放着 有功儿夫再来整理 https://www.cnblogs.com/fly-100/p/3777731.html https://www.cnblogs.com/hont/p/5184802.h ...
- Unity的Update() 和 FixedUpdate()的区别
Update() 和 FixedUpdate()在游戏中都会在更新的时候自动循环调用. 但是Update是在每次渲染新的一帧的时候才会调用,也就是说,这个函数的更新频率和设备的性能有关以及被渲染的物体 ...
- 【转】 Update和FixedUpdate的区别
MonoBehaviour.Update 更新 当MonoBehaviour启用时,其Update在每一帧被调用. MonoBehaviour.FixedUpdate 固定更新 当MonoBehavi ...
- Cocos2d中update与fixedUpdate的区别(一)
原文链接 关于这个问题cocos2d中的fixedUpdate:(或者是Unity中的FixedUpdate)在不同论坛中出现略显频繁.它被回答过很多次了,不管如何,每次一些童鞋在得到答案后还是有一些 ...
- Cocos2d中update与fixedUpdate的区别(六)
它如何工作呢? update:和fixedUpdate:方法实际这样工作. Cocos2D将从iOS接口中取得时间间隔(delta)在你的游戏代码执行期间,并且检查fixedUpdate:方法在间隔期 ...
- Cocos2d中update与fixedUpdate的区别(五)
在真实情况中update:和fixedUpdate方法如何去调用? 由上所述,所以update方法在每帧被调用1次,从而给你一个机会去更新你的游戏对象的状态在其绘制之前.而fixedUpdate:方法 ...
随机推荐
- 定制Eclipse IDE之功能篇(一)
上文回顾:定制Eclipse IDE之界面篇 这一篇文章将记录一些Eclipse插件拓展(extension),简单讲述常用拓展的用法,但可能不会那么详细. 我的主要插件的拓展如下: 一.or ...
- Hybrid框架UI重构之路:四、分而治之
上文回顾:Hybird框架UI重构之路:三.工欲善其事,必先利其器 上一篇文章有说到less.grunt这两个工具,是为了css.js分模块使用的.UI框架提供给使用者的时候,是一个大的xxx.js. ...
- javascript --- 设计模式之创造者模式
在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成:由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法确相对稳定.如何应 ...
- HTML <select> 标签 创建单选或多选菜单
所有主流浏览器都支持 <select> 标签. select 元素可创建单选或多选菜单. <select&> 元素中的 <option> 标签用于定义列表中 ...
- 记Ubuntu开机黑屏及解决过程
之前遇到一次Ubuntu因为失误卸载了xinit.xserver的原因,导致开机黑屏无法进入系统,实际上当时是第一次遇到这种情况,因此花了点时间自己摸索,事后想来解决方案还是比较简单的,从目前的观点来 ...
- JSOM 中对各种字段操作
function createListItem() { var clientContext = new SP.ClientContext(_spPageContextInfo.siteAbs ...
- Android Handler机制(三)----Looper源码解析
一.Looper Looper对象,顾名思义,直译过来就是循环的意思,从MessageQueue中不断取出message. Class used to run a message loop for a ...
- phonegap + Framework7 之 ios 推送跳转测试
先说说项目情况:使用phonegap创建的ios项目,然后在使用html + css开发网页中又使用了一个框架Framework7(Framework7是一个构建仿原生ios和android应用的框架 ...
- Android 隐式意图激活另外一个Actitity
上篇文章<Android 显示意图激活另外一个Actitity>最后谈到显示意图激活另外一个Actitity会有一些局限性和弊端 本文介绍另一种方法:隐式意图激活另外一个Actitity ...
- 【代码笔记】iOS-离线地图
一,效果图. 二,工程图. 三,代码. ViewController.h #import <UIKit/UIKit.h> #import <CoreLocation/CoreLoca ...