【问题标题】:Unity 5 Prevent Scroll Rect From Moving With MouseUnity 5 防止滚动矩形随鼠标移动
【发布时间】:2015-08-06 15:50:49
【问题描述】:

如何防止 Scroll Rect 随鼠标移动,例如我只希望滚动条移动它,而不是用鼠标拖动图像或文本?

【问题讨论】:

    标签: unity3d


    【解决方案1】:

    SubClass ScrollRect 并覆盖它的拖动处理程序?

    未经测试但应该可以工作:

    public class NoDragScrollRect : ScrollRect {
      public override void OnBeginDrag(PointerEventData eventData) { }
      public override void OnDrag(PointerEventData eventData) { }
      public override void OnEndDrag(PointerEventData eventData) { }
    }
    

    【讨论】:

      【解决方案2】:

      更简单的解决方案是将画布组添加到可滚动的 RectTransform 并将其设置为不阻止光线投射。这样就不会在 RectTransform 上发生拖动。这当然仅在您根本不需要 RectTransform 可交互的情况下才有效,否则其他答案将起作用

      【讨论】:

      • 使用 CanvasGroup 来 !BlocksRaycasts 工作得很好。但是,将 ScrollRect 设置为 !Interactable 不会。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多