Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Unity2D Input.TOUCH同时拖动2行的管理_C#_Unity3d_Input_Touch - Fatal编程技术网

C# Unity2D Input.TOUCH同时拖动2行的管理

C# Unity2D Input.TOUCH同时拖动2行的管理,c#,unity3d,input,touch,C#,Unity3d,Input,Touch,我在android设备上做一个多人射击箭游戏,你可以根据你画的线来射击。但是我需要在同一个屏幕上显示两行,我不知道什么是实现这一点的正确方法。 问题是touch数组是静态的,对于这两个实例来说是公共的,因此索引数组会改变,我想要控制的touch值也会改变 我尝试用一行渲染器为2个游戏对象编写一个脚本 for (int i = 0; i < Input.touchCount; i++) { if (Input.GetTouch(i)

我在android设备上做一个多人射击箭游戏,你可以根据你画的线来射击。但是我需要在同一个屏幕上显示两行,我不知道什么是实现这一点的正确方法。 问题是touch数组是静态的,对于这两个实例来说是公共的,因此索引数组会改变,我想要控制的touch值也会改变

我尝试用一行渲染器为2个游戏对象编写一个脚本

  for (int i = 0; i < Input.touchCount; i++)
            {
                if (Input.GetTouch(i).phase == TouchPhase.Began)
                {
                    if (touchIndex == -1)
                        touchIndex = Input.GetTouch(i).fingerId;

                    startPointLine = Camera.main.ScreenToWorldPoint(Input.GetTouch(touchIndex).position);

                }
//this if for the RIGHT half screen management
                if (Input.GetTouch(i).phase == TouchPhase.Moved && (TouchHalfRightScreen && IsRightDraggingZone))
                {

                    endPointLine = Camera.main.ScreenToWorldPoint(Input.GetTouch(touchIndex).position); 
                    Dragging();
                }
//this if for the LEFT half screen management
                if (Input.GetTouch(i).phase == TouchPhase.Moved && (!TouchHalfRightScreen && !IsRightDraggingZone))
                {
                    if (Input.touchCount == 1 && touchIndex == 1)
                        touchIndex--;
                    endPointLine = Camera.main.ScreenToWorldPoint(Input.GetTouch(touchIndex).position); 
                    Dragging();
                }
                if (Input.GetTouch(i).phase == TouchPhase.Ended)
                {
                    //reset touchIndex
                    touchIndex = -1;
                    ClearLine();
                }
            }
for(int i=0;i
我希望我在indexTouch中保存的触摸是我自己管理的,但在游戏中,我在屏幕的两侧做一条拖拽线,然后在另一侧添加一条拖拽线,会发生什么?我画的第一条线被冻结了,但最后一条线在移动

为了澄清一点,这是我想同时画的拖拽线。


你能添加gif或视频吗?当然,你能添加gif或视频吗?当然,