目录
1.边缘检测
2.T触发
3.计时/计数
1.边缘检测
private bool Edge(bool a,ref bool bit){//a 为主判断,bit为标记位
bool T = a&&!bit;
bit = a;
return T;
}
事件模式
private bool Edge(bool a,ref bool bit, Action event){//a 为主判断,bit为标记位
bool T = a&&!bit;
if(T)event();
bit = a;
return T;
}
返回目录
2.T触发
private bool Trigger(bool a,ref bool bit,ref bool trigger){
if(a&&!bit)trigger = !trigger;
bit = a;
return trigger;
}
事件模式
private bool Trigger(bool a,ref bool bit,ref bool trigger, Action event){
if(a&&!bit)trigger = !trigger;
if(trigger)event();
bit = a;
return trigger;
}
返回目录
3.计时/计数
private bool Count(ref float seconds,float Tarseconds){//手动清零,重新计时
if(seconds<Tarseconds){
seconds+=Time.deltaTime;//计时/计数
return false;
}else{
return true;
}
}