Detectar cuando suelto algo encima de otro objeto

Contactar con el profesor

public class Slot : MonoBehaviour , IDropHandler{
	public void OnDrop(PointerEventData eventData){
		Debug.Log ("suelta");
		//eventData.pointerDrag es el objeto que hemos soltado sobre este objeto
		Debug.Log (eventData.pointerDrag.name);
	}
}

Este evento detecta la colisión entre el ratón y el objeto B sobre el que he soltado una pieza A. Sin embargo, si la pieza A está entre el ratón y la pieza B, dicha colisión no será detectada. Para evitarlo, puedo añadir al botón A un componente de tipo <<Canvas Group> desactivarlo cuando lo comience a arrastrar.

public class ObjetoA : MonoBehaviour, IDragHandler , IBeginDragHandler, IEndDragHandler, IPointerDownHandler{

	public void OnBeginDrag(PointerEventData eventData){
		GetComponent<CanvasGroup> ().blocksRaycasts = false;
	}

	public void OnEndDrag(PointerEventData eventData){
		GetComponent<CanvasGroup> ().blocksRaycasts = true;
	}
}
← Jerarquías: recuperar hijos
Detectar cuando suelto algo encima de otro objeto →

Aviso Legal | Política de privacidad