我在c#中编写了一段代码,该代码应该阻止被快速调用的功能,但是它不起作用,它当前一遍又一遍地调用该函数。你能看看我的代码,看看有什么不对或建议另一种选择吗?
if (Input.GetKey (KeyCode.Mouse0)) {
if(timeToShoot < 0){
fire();
timeToShoot = (1 / fireRate);
}else{
timeToShoot -= Time.deltaTime;
}
}
答案 0 :(得分:0)
值timeToShoot = (1 / fireRate);
太小,并且递减得太快,这就是为什么它低于零,因此函数调用得太快。
尝试类似:
timeToShoot = 20 * (1 / fireRate);
可选:您可能希望将因子20
操纵为变量:
您的全球代码中的某处:
int factor = 20;
然后:
timeToShoot = factor * (1 / fireRate);