csharp 统一の更新タイミング検证コード
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 统一の更新タイミング検证コード相关的知识,希望对你有一定的参考价值。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class TestUpdate : MonoBehaviour
{
public Text text;
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
/*
フレーム間で保存されるスクリーンショットを許可するためゲームの再生時間が遅くなります。
このプロパティーが 0 以外の値ならフレームの更新がリアルタイムでフレームのレンダリングに必要な時間に関係ないインターバル
(1.0/captureFramerate) で発生します。これは一定のフレームレートが必要で、
スクリーン画像を保存するためにフレーム間で十分な時間を残してムービーをキャプチャーしたい場合に便利です。
getter / setter
*/
// Time.captureFramerate;
/*
* 最後のフレームを完了するのに要した時間(秒)(Read Only)
*/
// Time.deltaTime;
/*
* Physics や (MonoBehaviour の FixedUpdate のような)
* 他の固定フレームレートの更新を実行するインターバル(秒)
*/
// Time.fixedDeltaTime;
/**
* 最新の FixedUpdate を開始した時間 (Read Only) 。これはゲーム開始からの時間(秒)です。
*/
// Time.fixedTime;
// Time.fixedUnscaledDeltaTime;
// Time.fixedUnscaledTime;
// Time.frameCount;
// Time.inFixedTimeStep;
/**
* フレームがとれる最大時間。( MonoBehaviour の FixedUpdate のように)
* Physics やその他固定フレームレートを更新します。
*/
// Time.maximumDeltaTime;
// Time.maximumParticleDeltaTime;
/**
* ゲーム開始からのリアルタイム(秒)(Read Only)
*/
// Time.realtimeSinceStartup;
// Time.renderedFrameCount;
// Time.smoothDeltaTime;
/**
* このフレームの開始する時間(Read Only)。ゲーム開始からの時間(秒)です。
*/
// Time.time;
/**
* 時間の経過をスケールします。これはスローモーション効果で使用できます。
*/
// Time.timeScale;
/**
* フレームが開始された時間 (Read Only) 。最後のレベルが読み込まれてからの時間 (秒) です。
*/
// Time.timeSinceLevelLoad;
/**
* 最後のフレームを完了した timeScale に依存しない時間(秒) (Read Only)
*/
// Time.unscaledDeltaTime;
/**
* このフレームの始まる timeScale に依存しない時間 (Read Only)。
* これはゲーム開始からの時間(秒)です。
*/
// Time.unscaledTime;
text.text = string.Format(@"
deltaTime : {0}秒
fixedDeltaTime : {1}秒
",
Time.deltaTime,
Time.fixedDeltaTime
);
}
int[] frameRateArray = new int[]{ 60, 30, 15, 10, 5, 2, 1 };
float[] timeScaleArray = new float[]{ 1f, 0.8f, 0.5f, 0.2f, 0.1f, 0 };
void OnGUI()
{
GUILayout.BeginHorizontal();
GUILayout.BeginVertical();
foreach (var f in frameRateArray)
{
if (GUILayout.Button(f.ToString(),
GUILayout.Width(50f),
GUILayout.Height(50f)))
{
Application.targetFrameRate = f;
}
}
GUILayout.EndVertical();
GUILayout.BeginVertical();
foreach (var f in timeScaleArray)
{
if (GUILayout.Button(f.ToString(),
GUILayout.Width(50f),
GUILayout.Height(50f)))
{
Time.timeScale = f;
}
}
GUILayout.EndVertical();
GUILayout.EndHorizontal();
}
}
以上是关于csharp 统一の更新タイミング検证コード的主要内容,如果未能解决你的问题,请参考以下文章
markdown 失败した的delayed_jobを任意のタイミングで実行する
csharp 大量のオブジェクトを何度も吐温させる场合はSetRecyclable(真)にした方がよいかもと検证したサンプルコード