当我尝试创建一个2D游戏时,当用户拖动对象时,游戏对象应该在单个轴(x轴)上跟随鼠标。
这是我的代码,问题是,游戏对象跟随我拖动的鼠标。
using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;
public class Draggable : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler {
public void OnBeginDrag(PointerEventData eventData)
{
Debug.Log("OnBeginDrag");
}
public void OnDrag(PointerEventData eventData)
{
Debug.Log("OnDrag");
this.transform.position = eventData.position;
}
public void OnEndDrag(PointerEventData eventData)
{
Debug.Log("OnEndDrag");
}
}
答案 0 :(得分:1)
您当前正在使用this.transform.position = eventData.position;
更改所有轴(x,y,z)。仅更改x轴。仅使用eventData.position.x
。
public void OnDrag(PointerEventData eventData)
{
Debug.Log("OnDrag");
Vector3 tempPos = this.transform.position;
tempPos.x = eventData.position.x;
this.transform.position = tempPos;
}