Jurajkeee
@Jurajkeee
Baby Developer

Почему не активируется объект после функции ***.gameObject.SetActive(true);?

Скрипт должен был при старте деактивировать дочерние объекты(что он успешно делает), а после коллайда с объектами тега Ground,Side,LeftSide обратно активировать(что он успешно не делает).
using UnityEngine;
using System.Collections;

public class EnablingColliders : MonoBehaviour
{
    private Transform childObj;
    private Transform childObjSecond;
	// Use this for initialization
	void Start ()
	{
	    childObj = transform.FindChild("Collider");
	    childObjSecond = transform.FindChild("Effectors");
        childObj.gameObject.SetActive(false);
        childObjSecond.gameObject.SetActive(false);
        
	}
	
	// Update is called once per frame
	void Update () {
	
	}

    void OnCollisionEnter2D(Collider2D collision)
    {
        if (collision.transform.tag == "Side" || collision.transform.tag == "LeftSide" || collision.transform.tag =="Ground")
        {
            childObj.gameObject.SetActive(true);
            childObjSecond.gameObject.SetActive(true);

        }
    }
}
  • Вопрос задан
  • 1103 просмотра
Решения вопроса 1
MrMureno
@MrMureno Куратор тега Unity
VR for all
за вызовом childObj.gameObject прячется по сути childObj.FindObject(), а поиск не найдет отключенные объекты.
Сохраните ссылку сразу на GameObject ,а не на Transform
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы