首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Unity mobile滚动条太敏感

Unity mobile滚动条太敏感
EN

Stack Overflow用户
提问于 2016-05-24 03:01:39
回答 3查看 6.5K关注 0票数 1

我最近决定用Unity 5做一个2D手机游戏。现在我对scrollrect有一个问题。这是一种在手机上很敏感的方式。在windows中,我在滚动内容中的按钮工作得很好。但在我的手机上,我很难按下滚动内容中的按钮。我想这是因为scrollrect在触摸结束之前滚动,所以它注册为拖动,而不是触摸。

我试图在互联网上搜索这个问题,但这似乎是一个2-3年前的问题,应该得到解决。

我希望有人能为我的问题找到答案

谢谢。

EN

回答 3

Stack Overflow用户

发布于 2016-05-24 03:31:20

如果ScrollRect在移动设备上太敏感,那么您必须在移动设备上更改ScrollRect的属性,如scrollSensitivityelasticitydecelerationRate。您检测到移动设备上是否运行了应用程序,然后更改了这些值。下面的代码应该做it.You可能需要更改的值以满足您的需要。

代码语言:javascript
复制
void Start()
{
  if (Application.isMobilePlatform)
  {
      ScrollRect scrolRect = GameObject.Find("GameObjectScrollRectIsAttachedTo").GetComponent<ScrollRect>();
      scrolRect.scrollSensitivity = 0.5f;
      scrolRect.elasticity = 0.05f;
      scrolRect.decelerationRate = 0.2f;
  }
}

票数 4
EN

Stack Overflow用户

发布于 2016-05-24 03:31:38

好了,我找到了我的问题的答案。在阅读了更多的论坛后,我找到了添加事件系统的解决方案。在eventsystem中,我能够修改阈值,这就成功了。

票数 1
EN

Stack Overflow用户

发布于 2020-04-09 00:19:48

手头的实际问题是如何阻止滚动视图从非常小的拖拽。这在移动设备上尤其令人讨厌,特别是当你在滚动视图中有一个按钮时,因为拖动将取消按钮单击。没有必要使用脚本添加阈值,因为事件系统已经有了拖动阈值。将其更改为更高的值以降低敏感度。

对于移动设备,更好的解决方案是从屏幕上获取dpi。

代码语言:javascript
复制
GetComponent<EventSystem>().pixelDragThreshold = baseThreshold*Screen.dpi/baseDPI

并在此基础上将eventsystem dragthreshold设置为某个值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37398576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档