所以我正在制作一个自上而下的坦克射击游戏,我想制作一个比以前更好的重装系统。所以我想到我需要一些进度条之王。我知道怎么做,所以我开始做。问题是它不能正常工作。正如我在上面的 .gif 中显示的那样,当您第二次拍摄时,进度条不会下降。因为我是新来的统一,我仍然不知道一切都很好。所以我来到这里,也许有人可以帮忙。
编辑:我刚刚发现了另一个问题,也许是我遇到这个问题的答案。我的脚本第二次尝试重新加载时,我的“needTimer”布尔值为假,因此当它为假时进度条不会下降。新的问题是为什么它会变成假而不是真的?我的重新加载脚本:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class Reload : MonoBehaviour {
public float ammo;
public Image progress;
public bool alreadyReloading;
public bool needTimer;
void Start () {
alreadyReloading = false;
}
IEnumerator needtimertime(){
yield return new WaitForSeconds (6.5f);
needTimer = false;
}
IEnumerator uztaisyt(){
Debug.Log ("REEELOUUUDING!");
yield return new WaitForSeconds(6.5f);
ammo += 1;
alreadyReloading = false;
}
void Update () {
if (needTimer == true) {
timer ("");
}
if (ammo < 5) {
if(alreadyReloading == false){
needTimer = true;
StartCoroutine(uztaisyt());
alreadyReloading = true;
}
}
if (progress.fillAmount <= 0) {
progress.fillAmount = 1.0f;
}
}
void timer(string tipas){
progress.fillAmount -= Time.deltaTime / 6.5f;
StartCoroutine (needtimertime ());
}
}