В Unity выполнить условие, если объект с названием finish активирован, тогда сложить цифровые значения текстовых объектов hiveNumText, coinNumText, scoreNumText и записать сумму полученного цифрового значения в текстовый объект finishNumText.
В Unity вы можете выполнить условие для проверки активации объекта с названием “finish” и затем сложить значения текстовых объектов (hiveNumText
, coinNumText
, scoreNumText
), а также вывести сумму в текстовый объект finishNumText
. Предполагается, что все текстовые объекты хранятся в виде компонентов Text
или TMP_Text
(для TextMeshPro). Вот пример кода на C#:
using UnityEngine;
using UnityEngine.UI; // Если используете стандартный UI
// using TMPro; // Если используете TextMeshPro
public class ScoreCalculator : MonoBehaviour
{
public GameObject finish; // Объект finish
public Text hiveNumText; // Текстовый объект для hiveNum
public Text coinNumText; // Текстовый объект для coinNum
public Text scoreNumText; // Текстовый объект для scoreNum
public Text finishNumText; // Текстовый объект для finishNum
void Update()
{
// Проверяем, активирован ли объект "finish"
if (finish.activeInHierarchy)
{
// Получаем значения из текстовых объектов
int hiveNum = int.Parse(hiveNumText.text);
int coinNum = int.Parse(coinNumText.text);
int scoreNum = int.Parse(scoreNumText.text);
// Считаем сумму
int total = hiveNum + coinNum + scoreNum;
// Записываем сумму в текстовый объект finishNumText
finishNumText.text = total.ToString();
}
}
}
Объяснение кода:
- Публичные переменные: Определяем публичные переменные для задания объектов в инспекторе Unity.
- Метод
Update()
: В этом методе проверяем, активирован ли объектfinish
. - Парсинг значений: Считываем текстовые значения из текстовых объектов и преобразуем их в целые числа с помощью
int.Parse()
. - Сложение и отображение: Складываем числа и выводим результат в
finishNumText
.
Обратите внимание:
- Убедитесь, что текстовые значения можно корректно преобразовать в целые числа. Если возможно, обработайте возможные исключения при парсинге.
- Если вы используете
TextMeshPro
, замените типText
наTMP_Text
и соответствующим образом измените пространство имен.