unity学习、unity培训、unity企业培训、U3D资源、U3D培训视频U3D教程、U3D常见问题、U3D项目源码

unity3d 计时器

  • 博客分类:
      //Time类包含了一个重要的类变量deltaTime,它表示距上一次调用Update或FixedUpdate所用的时间。
     //因此通过它可以让游戏对象按照一个常速进行旋转,而不是依赖于它的帧频:
function Update()
{
   tranform.Rotate(0, 5 * Time.deltaTime, 0);
}

    //同样地移动效果:
function Update()
{
   transform.Translate(0, 0, 2 * Time.deltaTime);
}

       //如果想要一个值根据每帧的变化而变化(增加或减少) ,你应该使用 Time.deltaTime来乘以这个值。这样才能使得变化的效果依赖于单位时间,而不是帧频。这不仅使得游戏的运行独立于帧频,也使得运动的效果符合现实。
      //同理,要让灯光的照射范围在每秒使半径增加 2个单位,可进行如下编码:
function Update()
{
   light.range += 2.0 * Time.deltaTime;
}

      //但是在通过force来处理rigidbody时,一般情况下不要乘以 Time.deltaTime,因为 Unity引擎已经为你进行了处理

2
IEnumerator wait(int seconds){
  yield return new WaitForSeconds(seconds);
}
StartCoroutine(wait(2));  // 在Update() 中调用好像无效
//在JS中可以直接用 yield WaitForSeconds(3);

//3 定时器的使用
using UnityEngine;  
using System.Collections;  
public class NewBehaviourScript : MonoBehaviour {  
// Use this for initialization  
void Start () {  
   InvokeRepeating("LaunchProjectile", 1,5);//1秒后调用LaunchProjectile () 函数,之后每5秒调用一次  
}  
// Update is called once per frame  
void Update () {  
   if (Input.GetButton ("Fire")) {  
    CancelInvoke();  
   }  
}  
void LaunchProjectile () {  
   print("hello");  
}  
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值