Обесцвечивание: я начинающий программист, поэтому мне жаль, если код кажется неуклюжим или плохим.
Я хотел реализовать систему с несколькими подзарядками, при которой, когда заряжается первая сила, начинается зарядка второй мощности, что можно показать в игровом интерфейсе. Я попытался сделать это с помощью массива, но не смог сделать это, поэтому я прошел базовый код c, который:
public class ShockwaveChargesScript : MonoBehaviour
{
public GameManager gameManager;
public GameObject player;
public Image sWCharge2;
public Image sWCharge3;
public float sWFillMeterTimer;
private void Start()
{
sWCharge2.enabled = false;
sWCharge3.enabled = false;
}
private void Update()
{
if(gameManager.sWFill.GetComponent<Image>().fillAmount >= 1)
{
sWFillMeterTimer += (1 * Time.deltaTime) / gameManager.swRechargeTime;
if(sWFillMeterTimer > 0)
{
sWCharge2.enabled = true;
sWCharge2.fillAmount += (1 * Time.deltaTime) / gameManager.swRechargeTime;
if (sWFillMeterTimer > 1)
{
sWCharge3.enabled = true;
sWCharge3.fillAmount += (1 * Time.deltaTime) / gameManager.swRechargeTime;
}
}
if(player.GetComponent<PlayerScript>().sWButPressed && sWCharge2.fillAmount < 1)
{
gameManager.sWFill.GetComponent<Image>().fillAmount = sWCharge2.fillAmount;
sWCharge2.fillAmount = 0;
sWFillMeterTimer = 0;
}
if(player.GetComponent<PlayerScript>().sWButPressed && sWCharge2.fillAmount >= 1)
{
gameManager.sWFill.GetComponent<Image>().fillAmount = 1;
sWCharge2.fillAmount = 0;
sWFillMeterTimer -= 1;
}
}
}
}
, который дает мне следующий вывод:
![](https://i.stack.imgur.com/AicjP.gif)
Таким образом, как вы можете видеть в левом нижнем углу, так как второй заряд не полностью заряжен и заряжается, при нажатии кнопки величина заполнения из второго заряда переходит к сумма первого и второго заряда начинается с 0.
Но проблема возникает, когда второй заряд полностью заряжен и когда я нажимаю кнопку второй заряд доходит до 0, первый заряд также идет до 0 и начинает заряжаться с 0. Мне нужно, чтобы первый заряд был полностью заряжен.
Может кто-нибудь помочь. Извините, если вопрос не совсем понятен, engli sh не мой родной язык.