В настоящее время я занимаюсь разработкой игры и хочу позволить игроку перетаскивать игровой объект по экрану с помощью сенсорного управления.Однако по какой-то причине мой код продолжает возвращать ошибку (deltaPosition не существует в текущем контексте), что не должно происходить, потому что я получил код из видео на YouTube, где он не отображал никаких ошибок компиляции, когдачеловек показал код.Это связано с новой версией C # или кто-то знает, как я мог решить эту проблему.Спасибо введите описание изображения здесь
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);
}
}