如何在 Unity C# 中将 OnPointerDown 侦听器添加到滑块句柄? [复制]

Posted

技术标签:

【中文标题】如何在 Unity C# 中将 OnPointerDown 侦听器添加到滑块句柄? [复制]【英文标题】:How to add OnPointerDown Listener to Slider Handle in Unity C#? [duplicate] 【发布时间】:2017-06-22 13:30:07 【问题描述】:

如何在 Unity GUI Slider 上添加监听器以监听滑块手柄上的鼠标按下事件?

提前谢谢你!

【问题讨论】:

【参考方案1】:

Unity UI Slider 已经在监听 OnPointerDown,您可以在文档中看到它。

如果你想改变它的行为方式或向这个方法添加一些自定义行为,你可以用不同的方式来做:

1- 将EventTrigger 添加到您的对象并选择 OnPointerDown 事件,如下所示:

2- 声明一个继承自 Slider 类的新类并重写 OnPointerDown() 方法,如下所示:

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;

public class CustomSlider: Slider

    public override void OnPointerDown(PointerEventData eventData)
    
        base.OnPointerDown(eventData);

        // Your code here
    

请注意,第二种方法将检测所有滑块图形上的指针向下事件,而您可以将 EventTrigger 组件单独附加到句柄以仅检测此图形元素上的指针向下事件。

希望对你有帮助,

【讨论】:

对于投反对票的任何人,请解释原因:我很乐意随后改进我的答案:) 如何使用方法#2?我创建了将 Slider 子类化的脚本,但是如何像使用常规滑块一样将此自定义滑块添加到 Canvas 对象? @SirPaulMuaddib 你只需要继续你的游戏对象,点击添加组件并搜索CustomSlider组件。还要确保 .cs 文件名与类名匹配:否则 Unity 不会将其识别为组件。 居然完美运行,不知道你还可以添加事件触发器作为组件,太棒了。

以上是关于如何在 Unity C# 中将 OnPointerDown 侦听器添加到滑块句柄? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Unity 中将 UI 文本设置为不同的 UI 文本

如何在 Unity 中将 Sprite Flip 与 Photon2 同步

如何在Unity的水平布局中将特定的孩子放在前面

如何在unity3d中将2d对象导入场景3d

如何在 HoloLens 2 中将 SimpleITK 集成到 Unity for app 中

如何在 Unity3D 中将类对象转换为 JSON 字符串?