Я работаю над обучающей игрой "перетащи и брось" и застрял в этом коде.Когда я пытаюсь от pos1 до pos2, это работает.Тем не менее, я в состоянии снова с pos2 до pos1, что я не хочу.Я попробовал некоторый код, но получил некоторые ошибки. Возможно ли решить эту проблему с помощью PointerEventData
?
public class Manager : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler
{
Vector2 pos1;
public GameObject pos2;
void Start()
{
pos1 = transform.position;
}
public void OnBeginDrag(PointerEventData eventData)
{
debug.log(eventData)
}
public void OnDrag(PointerEventData eventData)
{
transform.position = Input.mousePosition;
}
public void OnEndDrag(PointerEventData eventData)
{
float distance = Vector3.Distance(transform.position, pos2.transform.position);
if (distance < 50)
{
transform.position = pos2.transform.position;
transform.localScale = pos2.transform.localScale;
}
else
{
transform.position = pos1;
}
}
}