Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Ayuda con Drag and Drop en Canvas

Iniciado por Centauro5legs, Diciembre 09, 2015, 10:50:47 PM

Tema anterior - Siguiente tema
Diciembre 09, 2015, 10:50:47 PM Ultima modificación: Junio 05, 2016, 06:31:12 PM por pioj
Quiero hacer un inventario, usando un Script de Drag and Drop, ya tengo la lógica, pero me falta algo. Tengo el Siguiente Scrip;
 

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;
public class Drag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler {
    public static GameObject itemBeginDrag;
    Vector3 startposition;
    Transform startparent;
    #region IBeginDragHandler implementation
    //------------------------------------------//
    //          Agarra un Item           //
    //------------------------------------------//
    public void OnBeginDrag (PointerEventData eventData)
    {
        itemBeginDrag = gameObject;
        startposition = transform.position;
        startparent = transform.parent;
        GetComponent<CanvasGroup> ().blocksRaycasts = false;
    }
    
    #endregion
    //------------------------------------------//
    //          Mueve un Item           //
    //------------------------------------------//
    #region IDragHandler implementation
    public void OnDrag (PointerEventData eventData)
    {
        transform.position = Input.mousePosition;
    }
    #endregion
    //------------------------------------------//
    //          Suelta el Item           //
    //------------------------------------------//
    #region IEndDragHandler implementation
    
    public void OnEndDrag (PointerEventData eventData)
    {
        DataInventary inventario = new DataInventary();
        itemBeginDrag = null;
 
        //Obtenemos el id de lo que contiene el Botón
        int indice = GetComponent<ChangedIcon>().indice;
        //Si se sobreposiciono sobre otro boton, cambiamos el contenido del botón
         /*
         * if("item esta sobre otro item"){
         *         int tempo = ItemSeleccionado;
         *         ItemSeleccionado = ItemSobreposicionado;
         *         ItemSobreposicionado = tempo;
         * }
         */
        GetComponent<ChangedIcon> ().cambiaricono ();
 
        //Devolvemos a la posición original
 
        GetComponent<CanvasGroup> ().blocksRaycasts = true;
        if (transform.parent != startparent) {
            transform.position = startposition; 
        }
    }
    
    #endregion
    //------------------------------------------//
}
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 
El Script funciona, en el sentido que puedo arrastrar los Items, pero mi pregunta es. ¿Cómo puedo saber sobre que botón esta sobreposicionado el botón que estoy arrastrando, para así poder cambiar su ID?....
 


Etiquetas: