WedX - журнал о программировании и компьютерных науках

Как я могу сделать объект клона невидимым Unity

1. У меня проблема, когда я начинаю перетаскивать объект, он сам клонирует себя, мне нужно, чтобы в зоне панели (мой объект возрождался там), а не в зоне сброса, я пытаюсь найти решение для этого. Могу ли я сделать клон невидимым? если я могу, как? вот код:

enter code here

открытый класс DragHandler: MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler { public enum Slot { ileri, sağa, sola, fonksiyon};

public Slot typeofMove;
public Transform ParentreturnTo = null;
public Transform PlaceholderParent = null;
GameObject placeholder = null;
public GameObject ileriprefab;
public GameObject x;
public GameObject panel;
public void OnBeginDrag(PointerEventData eventData)
{



    placeholder = new GameObject();

    placeholder.transform.SetParent(this.transform.parent);
    LayoutElement le = placeholder.AddComponent<LayoutElement>();
    le.preferredWidth = this.GetComponent<LayoutElement>().preferredWidth;
    le.preferredHeight = this.GetComponent<LayoutElement>().preferredHeight;
    le.flexibleWidth = 0;
    le.flexibleHeight = 0;

    placeholder.transform.SetSiblingIndex(this.transform.GetSiblingIndex());
    //sibling index kartı aldıgımız yeri döndürür.

    Debug.Log("OnBeginDrag");
    ParentreturnTo = this.transform.parent;
    PlaceholderParent = ParentreturnTo;
    this.transform.SetParent(this.transform.parent.parent);


    if (this.transform.parent.position == GameObject.FindGameObjectWithTag("carddroparea").transform.position)
    {
        x = Instantiate(moveforwardprefab, moveforvardprefab.transform.position, Quaternion.identity);



        x.transform.SetParent(PlaceholderParent.transform);

        //im trying to saying here if the object "this" in drop zone dont instantiate it or make it invisible ??????? but its not working 
    }


    GetComponent<CanvasGroup>().blocksRaycasts = false;












}

public void OnDrag(PointerEventData eventData)
{

    Debug.Log("OnDrag");
    this.transform.position = eventData.position;
    if (placeholder.transform.parent != PlaceholderParent)
        placeholder.transform.SetParent(PlaceholderParent);

    int newSiblingIndex = PlaceholderParent.childCount;
    for (int i = 0; i < PlaceholderParent.childCount; i++)
    {
        //**parentreturnto. getchild(i)**//

        if (this.transform.position.x < PlaceholderParent.GetChild(i).position.x)
        {
            newSiblingIndex = i;
            //     placeholder.transform.SetSiblingIndex(i);
            if (PlaceholderParent.transform.GetSiblingIndex() < newSiblingIndex)
                newSiblingIndex--;
            break;


        }


    }
    placeholder.transform.SetSiblingIndex(newSiblingIndex);

}

public void OnEndDrag(PointerEventData eventData)
{



    Debug.Log("OnEndDrag");
    this.transform.SetParent(ParentreturnTo);

    this.transform.SetSiblingIndex(placeholder.transform.GetSiblingIndex());
    //Kartın alındıgı yere konulması için gerekli

    GetComponent<CanvasGroup>().blocksRaycasts = true;
    Destroy(placeholder);
    if (this.transform.parent.position == GameObject.FindGameObjectWithTag("panel").transform.position)
    {

        Destroy(x);

        Debug.Log("destroyed");

    }

    if (x.transform.parent.position == GameObject.FindGameObjectWithTag("carddroparea").transform.position)
    {

        Destroy(x);

        Debug.Log("destroyed");

    }






}

}


  • Добро пожаловать в Stack Overflow. Пройдите тур и узнайте Как Спрашивайте, чтобы больше людей интересовались вашим вопросом и повышались шансы получить хороший ответ. В данный момент помочь вам невозможно. Отредактируйте свой вопрос и постарайтесь уточнить, в чем вы сомневаетесь. Кроме того, не публикуйте весь свой код; вместо этого предоставьте минимально воспроизводимый пример. 11.07.2018

Ответы:


1

Если вы просто хотите сделать GameObject невидимым, есть много способов сделать это. Вы можете, например:

yourGameObject.SetActive(false);

Вы также можете деактивировать свой игровой объект Renderer.

yourGameObject.GetComponent<Renderer>().enabled = false;

как адаптировать его к вашему коду, зависит от вас.

11.07.2018
  • если это сработает, просто не забудьте принять ответ, чтобы все знали, какой ответ правильный. Если вы что-то другое, просто постарайтесь быть более конкретным. 17.07.2018
  • Новые материалы

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


    Для любых предложений по сайту: [email protected]