Embedded Browser 触控屏的 放大

本人使用 这网页插件 做展厅程序 ,遇到了个触控放大网页的模型的问题。在触屏设备上,进入网页可以通过双指放大,但这插件不支持双指触控,故而自己研究了下方法。Embedded Browser 触控屏的 放大_第1张图片
在 PointerUIBase.cs 代码中,第186行的方法里,257行的 MouseScroll = stateToUse.scrollDelta代码,这个是鼠标滚轮,返回的值 分别为 Vector2(0,1), Vector2(0,-1),Vector2(0,0),通过修改 MouseScroll 的值就可以控制网页上滚轮的进度。
注意,该函数的返回值的频率很低,返回频率取决于你滚 鼠标滚轮的速度,Embedded Browser 触控屏的 放大_第2张图片

我在 PointerUIGUI.cs 代码中进行修改,添加如下函数,注意: Input.touchCount 只在触控屏上有用,普通电脑不带触控是没有反应的。

      private void Update()
        {
          
            MouseScroll = GetTouchDir();
        }

        public float lastDis;
		public Vector2 GetTouchDir()
		{
			if (Input.touchCount == 2)
            {
                Vector2 Position1 = Input.GetTouch(0).position;
                Vector2 Position2 = Input.GetTouch(1).position;
                if (Input.GetTouch(0).phase == TouchPhase.Moved || Input.GetTouch(1).phase == TouchPhase.Moved)
                {
                    float tmp_dis = Vector3.Distance(Position1, Position2);
					lastDis = tmp_dis;
                    if (tmp_dis > lastDis)
					{
                        Debug.LogError("放大");
                        return new Vector2(0, 1);
					}
					else if (tmp_dis < lastDis)
					{
                        Debug.LogError("缩小");
						return new Vector2(0, -1);
                    }
                    return Vector2.zero;
                }
				else
                {
					return Vector2.zero;
				}
            }
            else
            {
                lastDis = 0;
                return Vector2.zero;
            }

            

        }

Over

你可能感兴趣的:(c#,Unity,unity)