当前位置: 首页 > web >正文

Unity UGUI 中 InputField 组件处理拖拽超出文本框边界时自动滚动内容的核心协程

官方源代码 (位于:InputField.cs 的1716行)

 IEnumerator MouseDragOutsideRect(PointerEventData eventData){while (m_UpdateDrag && m_DragPositionOutOfBounds){Vector2 position = Vector2.zero;if (!MultipleDisplayUtilities.GetRelativeMousePositionForDrag(eventData, ref position))break;Vector2 localMousePos;RectTransformUtility.ScreenPointToLocalPointInRectangle(textComponent.rectTransform, position, eventData.pressEventCamera, out localMousePos);Rect rect = textComponent.rectTransform.rect;if (multiLine){if (localMousePos.y > rect.yMax)MoveUp(true, true);else if (localMousePos.y < rect.yMin)MoveDown(true, true);}else{if (localMousePos.x < rect.xMin)MoveLeft(true, false);else if (localMousePos.x > rect.xMax)MoveRight(true, false);}UpdateLabel();float delay = multiLine ? kVScrollSpeed : kHScrollSpeed;if (m_WaitForSecondsRealtime == null)m_WaitForSecondsRealtime = new WaitForSecondsRealtime(delay);elsem_WaitForSecondsRealtime.waitTime = delay;yield return m_WaitForSecondsRealtime;}m_DragCoroutine = null;}

http://www.xdnf.cn/news/9032.html

相关文章:

  • java虚拟机2
  • 高速通信时代的信号编码利器-PAM4技术解析
  • HTML 文件路径完全指南:相对路径、绝对路径解析与引用技巧
  • git基础语法回顾
  • 重构损失(Reconstruction Loss) L mse​ 和 余弦相似性损失(Cosine Similarity Loss) L cos​
  • AI天气预报进入“大模型时代“:如何用Transformer重构地球大气模拟?
  • 基于cornerstone3D的dicom影像浏览器 第二十三章 mpr预设窗值与vr preset
  • 鸿蒙OSUniApp 开发的图文混排展示组件#三方框架 #Uniapp
  • 3d tiles高级样式设计与条件渲染
  • 基于小米Open-Vela开源系统的高级计算器实现 | 支持C++数学函数与 LVGL UI
  • 2025.05.09【Bubblemap】气泡图深入解析
  • 回调函数的使用
  • 鸿蒙OSUniApp 实现的一键清除输入框内容功能#三方框架 #Uniapp
  • Git切换历史版本及Gitee云绑定
  • 横向联邦学习、纵向联邦学习与联邦迁移学习是联邦学习的三大主要分支
  • 企微客服如何接入ai大模型
  • [网页五子棋]项目介绍以及websocket的消息推送(轮询操作)、报文格式和握手过程(建立连接过程)
  • Vue3 + Element Plus 实现用户管理模块
  • 计算机网络学习(八)——MAC
  • 3560. 木材运输的最小成本
  • 时序模型上——ARIMA/MA/AR
  • GaussDB资源冻结与解冻:精细化资源管理的实践与策略
  • Webpack和Vite构建工具有什么区别?各自的优缺点是什么
  • 华为OD机试真题——虚拟理财游戏(2025A卷:200分)Java/python/JavaScript/C/C++/GO最佳实现
  • 华为OD机试真题——数据分类(2025B卷:100分)Java/python/JavaScript/C++/C语言/GO六种最佳实现
  • 162. 寻找峰值
  • 【芯片设计中的跨时钟域信号处理:攻克亚稳态的终极指南】
  • Rust 1.0 发布十周年,梦想再度扬帆起航!
  • Class ‘AlibabaCloud\Tea\Utils\Utils\RuntimeOptions‘ not found
  • 人脸识别备案快速高效服务