程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用其名称检测点击了哪个 UI大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决使用其名称检测点击了哪个 UI?

开发过程中遇到使用其名称检测点击了哪个 UI的问题如何解决?下面主要结合日常开发的经验,给出你关于使用其名称检测点击了哪个 UI的解决方法建议,希望对你解决使用其名称检测点击了哪个 UI有所启发或帮助;

如何使用游戏对象的名称检测点击了哪个 UI?我正在使用 PointerEvents,如果我将它附加到我的每个 RawImage,Image and other components 上,这个脚本就可以工作。我想让这个脚本全局化,以便它显示点击了哪个 UI。我该怎么做?

 using UnityENGIne.EventSystems;
 using UnityENGIne; // 1

 public class PointerUI : MonoBehavIoUr,IPointerClickHandler // 2,IDragHandler,IPointerEnterHandler,IPointerExitHandler
 // ... And many more available!
 {

     voID update () {

     }

     public voID OnPointerClick (PointerEventData eventData) // 3
     {
         DeBUG.Log ("I was clicked");
     }

     public voID OnDrag (PointerEventData eventData) {
         DeBUG.Log ("I'm being dragged!");
     }

     public voID OnPointerEnter (PointerEventData eventData) {
         DeBUG.Log ("I enter");
     }

     public voID OnPointerExit (PointerEventData eventData) {
         DeBUG.Log ("I exit");
     }
 }

解决方法

遗憾的是 Unity 不直接提供此功能。您可能不会为每个可点击的对象设置脚本(不会因为自动添加脚本而变得复杂)。

但是,您可以通过以下方式对点击进行全球化处理: 创建您的全局实例并应用“单例模式”以使其可从任何脚本访问(基本上是一个公共静态变量,它包含对实际实例的引用)。 给这个脚本一个函数,如:

uint8

然后编写一个与您现有的脚本非常相似的脚本,该脚本应用于每个可点击的 UI 元素,并在 OnPointerClick 等函数中调用 NotifyAboutClick(game_object);通过全局对象的静态引用来实现。

大佬总结

以上是大佬教程为你收集整理的使用其名称检测点击了哪个 UI全部内容,希望文章能够帮你解决使用其名称检测点击了哪个 UI所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。