1
"block1"그룹을 끌면 전체적으로 그것을 끌었습니다. 하지만 내가 원하는 것은 "슬롯"에 떨어 뜨려서 그룹을 해제하고 모든 "자식 (큐브)"을 가져 와서 "슬롯"에 다시 붙여 넣기를 원할 때입니다. 각 큐브는 각 슬롯에 있습니다. 어떻게해야합니까? transform.parent = null을 설정하면 블록 패널에서 "block1"을 제거합니다. 여기 C#을 사용하여 Unity에서 부모 개체를 그룹 해제하는 방법?
using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;
public class DragHandler : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler{
\t public static GameObject piece;
\t Vector3 startPosition;
\t Transform startParent;
\t public static GameObject cube;
\t #region IBeginDragHandler implementation
\t public void OnBeginDrag (PointerEventData eventData)
\t {
\t \t
\t \t piece = gameObject;
\t \t startPosition = transform.position;
\t \t startParent = transform.parent;
\t \t GetComponent<CanvasGroup>().blocksRaycasts = false;
\t }
\t #endregion
\t #region IDragHandler implementation
\t public void OnDrag (PointerEventData eventData)
\t {
\t \t transform.position = eventData.position;
\t }
\t #endregion
\t #region IEndDragHandler implementation
\t public void OnEndDrag (PointerEventData eventData)
\t {
\t \t piece = null;
\t
\t \t GetComponent<CanvasGroup>().blocksRaycasts = false;
\t \t if(transform.parent == startParent){
\t \t \t transform.position = startPosition;
\t \t \t GetComponent<CanvasGroup>().blocksRaycasts = true;
\t \t }
\t }
\t #endregion
}