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
Unity3d 在统一中使用触摸快速移动对象可以在屏幕上显示?_Unity3d_Vector_Game Engine - Fatal编程技术网

Unity3d 在统一中使用触摸快速移动对象可以在屏幕上显示?

Unity3d 在统一中使用触摸快速移动对象可以在屏幕上显示?,unity3d,vector,game-engine,Unity3d,Vector,Game Engine,我目前正在开发一款游戏,我想让玩家使用触摸控制在屏幕上拖动游戏对象。但是,出于某种原因,我的代码不断返回错误(“deltaPosition”在当前上下文中不存在),这是不应该发生的,因为我从youtube视频中获取的代码,当用户显示代码时,代码没有显示任何编译错误。这是因为C#的新版本,还是有人知道我如何解决这个问题。谢谢 没有deltaPosition,因为您命名了变量deltaPosition,因此出现错误(“deltaPosition”在当前上下文中不存在) 您能公布全部错误吗?它应该告诉

我目前正在开发一款游戏,我想让玩家使用触摸控制在屏幕上拖动游戏对象。但是,出于某种原因,我的代码不断返回错误(“deltaPosition”在当前上下文中不存在),这是不应该发生的,因为我从youtube视频中获取的代码,当用户显示代码时,代码没有显示任何编译错误。这是因为C#的新版本,还是有人知道我如何解决这个问题。谢谢


没有
deltaPosition
,因为您命名了变量
deltaPosition
,因此出现错误
(“deltaPosition”在当前上下文中不存在)

您能公布全部错误吗?它应该告诉你哪一行不工作…这里的问题是由于打字错误。有时你拼写它的位置,有时是位置。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;


    public class PositionTracker : MonoBehaviour
    {
        [SerializeField]
        float                  _horizontalimit = 2.5f, _verticalLimit = 2.5f, dragSpeed = 0.1f;

        Transform cashedTransform;

        Vector3 startingPos;


        void Start()
        {
            cashedTransform = transform;
            startingPos = cashedTransform.position;
        }

        void Update()
        {
            if (Input.touchCount > 0)
            {
                Vector2 deltaPostion = Input.GetTouch(0).deltaPosition;

                switch (Input.GetTouch(0).phase)
                {
                    case TouchPhase.Began:
                    break;

                    case TouchPhase.Moved:
                        DragObject(deltaPosition);
                        break;

                    case TouchPhase.Ended:
                        break;
                }
            }

            //Debug.Log("target is " + touch.position + " pixels from the left");
        }

        void DragObject(Vector2 deltaPostion)
        {
            cashedTransform.position = new Vector3(Mathf.Clamp((deltaPosition.x * dragSpeed) + cashedTransform.position.x,
                startingPos.x - _horizontalimit, startingPos.x + _horizontalimit), 
            Mathf.Clamp((deltaPostion.y * dragSpeed) + cashedTransform.position.y,
            startingPos.y - _verticalLimit, startingPos.y + _verticalLimit),
            cashedTransform.position.z);

        }
    }