unity时间

using UnityEngine;
using System.Collections;

/// <summary>
/// 
/// </summary>
public class TimeDemo : MonoBehaviour

    public float speed = 10;
    private void OnGUI()
    {
        if (GUILayout.Button("游戏暂停"))
        {
            Time.timeScale = 0;
        }
        if (GUILayout.Button("游戏继续"))
        {
            Time.timeScale = 1;
        }
        if (GUILayout.Button("慢动作"))
        {
            Time.timeScale = 0.1f;
        }
        /*
         Time.timeScale 
         不影响渲染  所以 Update 执行间隔不受影响
         影响物理更新 所以FidexUpdate执行间隔受间隔
         Time.deltaTime  受影响
         */
    }

    public float deltaTime, unscaledDeltaTime, time, unscaledTime;
    private void Update()
    { 
        //本帧时间  -   上一帧时间
        //上一帧消耗时间
        deltaTime = Time.deltaTime;

        unscaledDeltaTime = Time.unscaledDeltaTime;

        time = Time.time;

        unscaledTime = Time.unscaledTime;

        //机器性能差/渲染量大    每帧执行间隔大   每秒渲染次数少(Update执行次数少)  希望 每次多旋转
        //机器性能好/渲染量小    每帧执行间隔小   每秒渲染次数多(Update执行次数多)  希望 每次少旋转
          
        //每帧沿Y轴旋转1度
        //transform.Rotate(0, 1, 0);

        //如果Update执行次数少  那么deltaTime数值大
        //                              多                               小
        //总结:如果在Update中对物体做物理操作(移动/旋转/力)
        //         需要在速度上 乘以 每帧消耗时间,用以得到恒定的速度。
        //transform.Rotate(0, speed * Time.deltaTime, 0);

        //如果希望游戏暂停后,当前物体不受影响
        transform.Rotate(0, speed * Time.unscaledDeltaTime, 0);
    }

    private void FixedUpdate()
    {  
        transform.Rotate(0, speed * Time.deltaTime, 0);
    }
 
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值