常用API
一.Time
1. time 游戏运行至今的时间 (只读)
游戏运行至今(此帧开始)的时间 (只读) 返回秒的float值.
2. deltaTime 帧时间 (只读)
以秒计算,完成最后一帧的时间(只读)
void Update()
{
speed=80;
transform.Rotate(0,speed*Time.deltaTime,0);
// print(Time.deltaTime);
}
3.timeScale 缩放时间 (浮点型)
缩放时间.适于 暂停, 慢动作或者 快进
Time.timeScale=0.2f;
注意: timeScale只会影响fix update 和 乘了deltatime的组件,不会影响update;
4. fixedDeltaTime
fix update专用的deltatime //常用于解决机器卡顿时的恒定运动
5. unscaledDeltaTime 不受缩放影响的deltatime
Cube8ts
.
Rotate
(
0
,
speed
*
Time
.
unscaledDeltaTime
,
0
);
//此物体暂停也能动
二. Invoke 执行函数
1.Invoke(string 函数名, float 延迟时间开始) //延迟一段时间后执行函数
2. InvokeRepeating(string 函数名, float 延迟时间开始,float 重复执行间隔);
//延迟一段时间后每个一段时间执行一次
3.CancelInvoke(string 函数名) //取消执行某个函数
三. 预制件
生成方法:将一个Hierarchy面板中的物体拖入project面板
附: update中按固定时间执行动作
方案一: 思路:设置一个执行时间,执行后刷新新的执行时间
private void Update() {
if(Time.time>=nextTime){
sec--;
txt1.text=secToTime(sec);
nextTime=Time.time+1;
}
}
方案二: 思路:累加时间,够了之后执行语句,累加清零
private void Update() {
timeAdd+=Time.deltaTime;
if(timeAdd>=1){
sec--;
timeAdd=0;
txt1.text=secToTime(sec);
}
}
方案三:
void Start()
{
txt1=GetComponent<Text>();
sec=4000;
InvokeRepeating("timeShow",0,1);
}
void timeShow()
{
txt1.text=secToTime(sec);
sec--;
}