Advertisement
AnmatDev

Cambiar imagen UI raycast

Sep 11th, 2023 (edited)
671
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.60 KB | None | 0 0
  1.  private GraphicRaycaster raycaster;
  2.     private PointerEventData pointerEventData;
  3.     private EventSystem eventSystem;
  4.  
  5.  
  6. // Obtener referencias a los componentes necesarios.
  7.         raycaster = GetComponent<GraphicRaycaster>();
  8.         eventSystem = GetComponent<EventSystem>();
  9.  
  10.  
  11.  
  12. private void Update()
  13.     {
  14.         // Verificar si se ha hecho clic en el mouse.
  15.         if (Input.GetMouseButtonDown(0))
  16.         {
  17.             // Crear datos de evento de puntero para el raycast.
  18.             pointerEventData = new PointerEventData(eventSystem);
  19.             pointerEventData.position = Input.mousePosition;
  20.  
  21.             // Crear una lista para almacenar los resultados del raycast.
  22.             var results = new List<RaycastResult>();
  23.  
  24.             // Realizar el raycast en el Canvas.
  25.             raycaster.Raycast(pointerEventData, results);
  26.  
  27.             // Procesar los resultados del raycast.
  28.             foreach (var result in results)
  29.             {
  30.                 // Verificar si se ha interactuado con un objeto UI (por ejemplo, una Image).
  31.                 if (result.gameObject.GetComponent<Image>() != null)
  32.                 {
  33.  
  34.                     Debug.Log("Se interactuó con un objeto UI: " + result.gameObject.name);
  35.                     item.GetComponent<Image>().sprite = result.gameObject.GetComponent<Image>().sprite;
  36.                     // Realiza acciones específicas en respuesta al raycast interactivo.
  37.                     // Puedes acceder al objeto UI resultante, como result.gameObject, para realizar acciones específicas.
  38.  
  39.                 }
  40.             }
  41.         }
  42.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement