Unity 显示FPS(C#语言)
直接上脚本了:
using UnityEngine;
using System.Collections; public class ShowFPS : MonoBehaviour {
//设置帧率
Application.targetFrameRate = ;
public float f_UpdateInterval = 0.5F; private float f_LastInterval; private int i_Frames = ; private float f_Fps; void Start()
{
//Application.targetFrameRate=60; f_LastInterval = Time.realtimeSinceStartup; i_Frames = ;
} void OnGUI()
{
GUI.Label(new Rect(, , , ), "FPS:" + f_Fps.ToString("f2"));
} void Update()
{
++i_Frames; if (Time.realtimeSinceStartup > f_LastInterval + f_UpdateInterval)
{
f_Fps = i_Frames / (Time.realtimeSinceStartup - f_LastInterval); i_Frames = ; f_LastInterval = Time.realtimeSinceStartup;
}
}
}
拿一个别人的带注释的:
以备之后用,
// 帧数计算器,需要UGUI来显示,其实可以通过写在OnGUI中显示
[RequireComponent(typeof (Text))]
public class FPSCounter : MonoBehaviour
{
const float fpsMeasurePeriod = 0.5f; //FPS测量间隔
private int m_FpsAccumulator = 0; //帧数累计的数量
private float m_FpsNextPeriod = 0; //FPS下一段的间隔
private int m_CurrentFps; //当前的帧率
const string display = "{0} FPS"; //显示的文字
private Text m_Text; //UGUI中Text组件 private void Start()
{
m_FpsNextPeriod = Time.realtimeSinceStartup + fpsMeasurePeriod; //Time.realtimeSinceStartup获取游戏开始到当前的时间,增加一个测量间隔,计算出下一次帧率计算是要在什么时候
m_Text = GetComponent<Text>();
} private void Update()
{
// 测量每一秒的平均帧率
m_FpsAccumulator++;
if (Time.realtimeSinceStartup > m_FpsNextPeriod) //当前时间超过了下一次的计算时间
{
m_CurrentFps = (int) (m_FpsAccumulator/fpsMeasurePeriod); //计算
m_FpsAccumulator = 0; //计数器归零
m_FpsNextPeriod += fpsMeasurePeriod; //在增加下一次的间隔
m_Text.text = string.Format(display, m_CurrentFps); //处理一下文字显示
}
}
}
Unity 显示FPS(C#语言)的更多相关文章
- Unity之显示fps功能
如下: using UnityEngine; using System.Collections; public class ShowFpsOnGUI : MonoBehaviour { public ...
- Unity制作FPS Demo
等到把这个Unity FPS Demo[僵尸杀手]完成后再详细补充一下,使用Unity制作FPS游戏的经历,今天做个标识.
- Git安装配置和提交本地代码至Github,修改GitHub上显示的项目语言
1. 下载安装git Windows版Git下载地址: https://gitforwindows.org/ 安装没有特别要求可以一路Next即可,安装完成后可以看到: 2. 创建本地代码仓库 打开G ...
- 如何在Unity中显示FPS
using UnityEngine; using System.Collections; public class example : MonoBehaviour { public float upd ...
- 关于Unity中FPS第一人称射击类游戏制作(专题十)
当前Unity最新版本5.6.3f1,我使用的是5.5.1f1 场景搭建 1: 导入人物模型, 手持一把枪;2: 导入碎片模型;3: 创建一个平面;4: 创建一个障碍物;5: 导入人物模型;6: 配置 ...
- web国际化,在不同的浏览环境,显示不同的语言
所谓国际化就是支持多种语言,web应用在不同的浏览环境中可以显示出不同的语言.假设我们正在开发一个支持多国语言的Web应用程序,要求系统能够根据客户端的系统的语言类型返回对应的界面:英文的操作系统返回 ...
- Android开发实例 Unity显示Toast
Android中的Toast是一种简易的消息提示框. 当视图显示给用户,在应用程序中显示为浮动.和Dialog不一样的是,它永远不会获得焦点,无法被点击.用户将可能是在中间键入别的东西.Toast类的 ...
- arcgis显示其他国家语言
接手一个韩国的项目,需要在arcmap中配置一个韩国地图并发布到arcserver中进行切图,给的韩国地图的shapefile文件中属性字段都是韩文的,在中文的系统中,arcMap中显示的韩文都是乱码 ...
- unity 显示帧率
Game视图右上角Stats按钮按下即可显示统计信息.
随机推荐
- Spring Boot配置大全
Spring Boot项目使用一个全局的配置文件application.properties或者是application.yml,在resources目录下或者类路径下的/config下,一般我们放到 ...
- [转] createObjectURL方法 实现本地图片预览
ie6 可以直接显示本本地路径的图片 如: <img src="file://c:/3.jpg" /> ~~~网上都说ie7就不支持这种文件系统路径的url,但测试 ...
- thinkphp调用微信jssdk开发
一:准备文件,并将文件置于网站根目录下 access_token.json {"access_token":"","expire_time" ...
- jquery源码中noConflict(防止$和jQuery的命名冲突)的实现原理
jquery源码中noConflict(防止$和jQuery的命名冲突)的实现原理 最近在看jquery源码分析的视频教学,希望将视频中学到的知识用博客记录下来,更希望对有同样对jquery源码有困惑 ...
- reconnecting-websocket.js
websocket是HTML5下一个不错的网络协议解决方案,有一个场景很多猿猿都会遇到,手机锁屏后大约60秒,IOS会自动断开websocket连接,连接丢失了,那我们的数据也就断了.websocke ...
- ubuntu系统安装mysql登陆提示 解决Mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost'问题
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqoAAABtCAIAAADmldQYAAAe/0lEQVR4nO1dveslR3btzJGFk02GmU
- 元素滚动到底部或顶部时阻止body滚动
移动端的弹窗内容有滚动条,滚动到底部或顶部时或影响弹窗下的body滚动,某些浏览器滚动到顶部时不松手就触发了刷新页面的情况,如果不需要这样的默认体验,就需要加一下判断了. var startX,sta ...
- 删除Docker中所有已停止的容器
方法一: #显示所有的容器,过滤出Exited状态的容器,取出这些容器的ID, sudo docker ps -a|grep Exited|awk '{print $1}' #查询所有的容器,过滤出E ...
- maya cmds pymel polyEvaluate 获取 bounding box
maya cmds pymel polyEvaluate 获取 bounding box cmds.polyEvaluate(bc = 1) #模型 cmds.polyEvaluate(bc2 = ...
- 3dsmax不同版本 pyside qt UI 设置max窗口为父窗口的方法
3dsmax不同版本 pyside qt widget 设置 max 窗口为父窗口的方法 前言: 3dsmax 在 2014 extension 之后开始集成 Python 和 PySide,但是在版 ...