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);

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

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

Похожие вопросы