如何在 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 同步