Time.timeAsDouble
Declaration
public static double timeAsDouble;Описание
Время двойной точности в начале этого кадра (только для чтения). Это время в секундах с момента начала игры.
Time.timeAsDouble время в секундах, в течение которого приложение работало. Приложение доступно только для чтения.
Это версия двойной точности Time.time. Он обеспечивает большую точность, чем плавающее или единичное значение, особенно в течение длительных периодов реального времени. Time.timeAsDouble выше Time.time для большей точности.
Приложение получает текущий Time.timeAsDouble в начале каждого кадра, при этом значение увеличивается с каждым кадром. timeAsDouble вызов на кадр получает то же значение. При вызове из FixedUpdate она возвращает Time.fixedTimeAsDouble свойства.
Вы можете использовать Time.timeAsDouble Для длительности текущего кадра и связанных с ним шагов накопления кадров или имитации используется длительность текущего кадра и связанных с ним шагов накопления кадров или имитации Time.deltaTime вместо этого.
Стоимость Time.timeAsDouble является неопределенным в течение Awake сообщений и начинается после завершения всех сообщений. Time.timeAsDouble не обновляется, если Редактор приостановлен. Для значения времени, не затрагиваемого приостановкой, см. Time.realtimeSinceStartupAsDouble.
//If the Fire1 button is pressed, a projectile //will be Instantiated every 0.5 seconds.
using UnityEngine; using System.Collections;
public class Example : MonoBehaviour { public GameObject projectile; public float fireRate = 0.5f; private double nextFire = 0.0f;
void Update() { if (Input.GetButton("Fire1") && Time.timeAsDouble > nextFire) { nextFire = Time.timeAsDouble + fireRate; Instantiate(projectile, transform.position, transform.rotation); } } }