В Unity, для проверки активного предмета можно использовать свойство gameObject.activeSelf
.
Свойство gameObject
является ссылкой на объект, на котором скрипт был прикреплен. activeSelf
- это булево значение, которое показывает, активен ли объект в данный момент.
Вы можете использовать это свойство в методе Update
вашего скрипта для проверки активности объекта и выполнения определенной логики в зависимости от его состояния.
Вот пример скрипта, который демонстрирует, как проверить активный объект:
using UnityEngine; public class CheckActiveObject : MonoBehaviour { // Объект, который мы хотим проверить на активность public GameObject objectToCheck; private void Update() { // Проверяем, активен ли объектToCheck if (objectToCheck.activeSelf) { Debug.Log("Объект активен"); } else { Debug.Log("Объект неактивен"); } } }
Как видно из примера, мы использовали свойство objectToCheck.activeSelf
для проверки активности объекта. Если объект активен, выводится сообщение "Объект активен", иначе - выводится сообщение "Объект неактивен". Обратите внимание, что objectToCheck
должен быть назначен в инспекторе Unity. Вы можете просто перетащить объект из иерархии в соответствующее поле objectToCheck
в компоненте скрипта.
Также стоит отметить, что gameObject.activeSelf
не является эффективным способом для проверки активности объекта в каждом кадре, особенно если у вас много объектов, которые вам нужно проверить. В таких случаях рекомендуется хранить ссылку на объект и проверять его активность только в случае необходимости, чтобы избежать лишних нагрузок на производительность.