unity3d函数调用时间怎么写

1.我想问一下unity怎么实现倒计时 当时间为0的时候判定失败倒计时就是时间number每一秒减1,可以利用Time.time来记录时间,
if( Time.time > LastTime + 1.0f ) //LastTime是上一次记录的时间,看下行
{
【unity3d函数调用时间怎么写】LastTime = Time.time;
curParkTime--; //时间数int,这个就是屏幕显示的倒计时,要换算成00:00格式显示
if( curParkTime == 0 )
{
//时间为0时的处理
}
}
这是一种方法,还有一种方法是用yield return new WaitForSeconds(1.0f);表示1s后,你可以写个协程函数来记录时间
或者你可以用InvokeRepeating()函数,重复执行
有不明白的再问
2.unity3d 如何延时//重复调用
InvokeRepeating("LaunchProjectile", 1,5);//1秒后调用LaunchProjectile () 函数,之后每5秒调用一次
//调用一次
Invoke("LaunchProjectile", 5);//5秒后调用LaunchProjectile () 函数
LaunchProjectile是方法名 。
不爽呀,没记住函数名找个好几次,还那么难找 。
比用IEnumerator方便多了 。
3.unity3d 动作中 exittime 到底有什么用如果我没有猜错的话你肯定是在函数外部定义了一个float类型的变量然后直接用Time.time赋值了 。。。如果是的话那么这段错误完整输出就是:
ArgumentException: get_time can only be called from the main thread.
异常:时间只能被主线程调用 。
Constructors and field initializers will be executed from the loading thread when loading a scene.
构造函数和初始域只能在场景加载时被执行 。
Don#39;t use this function in the constructor or field initializers, instead move initialization code to the Awake or Start function.
不要在构造函数或初始化域,你可以把初始化代码移动到 Awake 或 Start 函数中 。
你可以这样写,如:
float curTime;
void GetTime()
{
curTime=Time.time;
}
然后在别的地方直接调用GetTime函数就可以了 。
说白了就是你不能在函数外部用Time.time直接给变量赋值 。

unity3d函数调用时间怎么写

文章插图