Выполнить условие, если удален любой объект с названием Hive со сцены в текст другого объекта с названием ScoreNum добавляется одно очко.
В Unity для реализации такого условия вам нужно написать скрипт, который будет отслеживать все объекты с названием “Hive”. Когда один из них будет уничтожен, вы добавите одно очко к другому объекту (например, ScoreNum
). Примером такого кода может быть следующий скрипт на C#:
using System.Collections.Generic;
using UnityEngine;
public class HiveManager : MonoBehaviour
{
// Список объектов Hive
private List<GameObject> hives = new List<GameObject>();
// Ссылка на объект ScoreNum
public ScoreNumber scoreNum;
void Start()
{
// Находим все объекты с названием Hive и добавляем их в список
hives.AddRange(GameObject.FindGameObjectsWithTag("Hive"));
}
void Update()
{
// Проверяем, есть ли объекты Hive в списке
for (int i = hives.Count - 1; i >= 0; i--)
{
if (hives[i] == null)
{
// Если объект Hive был уничтожен
hives.RemoveAt(i);
scoreNum.AddScore(1); // Добавляем одно очко
}
}
}
}
И дополнительно вам нужно будет создать скрипт для ScoreNum
, который отвечает за подсчет очков:
using UnityEngine;
using UnityEngine.UI;
using TMPro;
public class ScoreNumber : MonoBehaviour
{
public int score = 0;
public TMP_Text scoreText; // Ссылка на UI текст
public void AddScore(int value)
{
score += value;
UpdateScoreText();
}
void UpdateScoreText()
{
scoreText.text = "Score: " + score.ToString();
}
}
Установка
- Убедитесь, что у ваших объектов, которые должны учитываться как
Hive
, установлен тег “Hive”. - Привяжите скрипт
HiveManager
к любому объекту в сцене, который будет управлятьHive
, например, к пустому объекту (Empty GameObject). - Создайте объект с компонентом
ScoreNumber
, добавьте на него UI текст для отображения очков, и свяжитеscoreText
в инспекторе. - В поле
scoreNum
вHiveManager
укажите объект с компонентомScoreNumber
.
Теперь при удалении любого из объектов с тегом “Hive” будет увеличиваться счет на 1.