unity中关于UGUI的接口(点击 选择 系统按键等)

我在上一篇博客讲了一下关于UGUI的拖拽的接口
在这篇博客中 我介绍一下UGUI中的 点击 选择 系统按键的接口
希望这些功能对于大家开发的游戏有所帮助

点击接口
点击接口一共有五个相关的
分别是IPointerClickHandler, IPointerDownHandler, IPointerEnterHandler, IPointerExitHandler, IPointerUpHandler
这些接口继承之后的效果

 public void OnPointerClick(PointerEventData eventData)
    {
        Debug.Log("按键按下时调用");
    }

    public void OnPointerDown(PointerEventData eventData)
    {
        //鼠标按下
        Debug.Log("鼠标按下");
    }

    public void OnPointerUp(PointerEventData eventData)
    {
        //鼠标抬起
        Debug.Log("鼠标抬起");
    }

    public void OnPointerEnter(PointerEventData eventData)
    {
        //指针进入
        Debug.Log("指针进入");
    }

    public void OnPointerExit(PointerEventData eventData)
    {
        //指针出去
        Debug.Log("指针出去");
    }

其中调用的时间我都注释出来了
然后在unity中测试看下
unity中关于UGUI的接口(点击 选择 系统按键等)_第1张图片

我们可以在我们的游戏中利用这些接口实现一些特定的效果

选择接口

在UGUI中和选择相关的接口一共有三个
ISelectHandler, IDeselectHandler, IUpdateSelectedHandler
这三个我打个比方 可以理解为Start Update OnDestroy 三个方法
这三个的调用时间和我上边说的类似

public void OnDeselect(BaseEventData eventData)
    {
        Debug.Log("结束");
    }

    public void OnSelect(BaseEventData eventData)
    {
        Debug.Log("开始");
    }

    public void OnUpdateSelected(BaseEventData eventData)
    {
        Debug.Log("持续");
    }

在unity使用的时候 必须添加Selectable组件才能使用
unity中关于UGUI的接口(点击 选择 系统按键等)_第2张图片
unity中关于UGUI的接口(点击 选择 系统按键等)_第3张图片
当我们点击其他地方的时候 OnUpdateSelected才会停止调用哦!

系统按键的接口
分别是IScrollHandler,ISubmitHandler,ICancelHandler,IMoveHandler
分别代表 鼠标的滑轮,空格和回车,取消(ESC),方向键
同样这几个接口同样需要selectable组件

public void OnCancel(BaseEventData eventData)
    {
        //取消键
    }

    public void OnMove(AxisEventData eventData)
    {
        //方向键
    }

    public void OnScroll(PointerEventData eventData)
    {
        //鼠标滑轮
    }

    public void OnSubmit(BaseEventData eventData)
    {
        //确认键(空格或回车)
    }

这个的使用时必须首先选中这个UI组件(点击一下即可)
按下指定按键即可实现调用
滑轮的检测必须是鼠标光标处于UI的范围内
unity中关于UGUI的接口(点击 选择 系统按键等)_第4张图片

这个博客就介绍这么多 希望对大家有帮助
如果你也是Unity爱好者,欢迎关注我的博客 我会在这里持续更新我的学习过程

你可能感兴趣的:(游戏效果,UGUI,c#脚本开发)