【发布时间】:2019-07-23 00:21:08
【问题描述】:
我只想在 x 和 z 轴上拖放一个对象。到目前为止,代码确实做到了这一点,只有对象移动得比鼠标慢。如何让它完全跟随鼠标?
由于我还是编码新手,我尝试在我的代码中实现不同的代码,并尝试根据我所学的内容对其进行编辑,但我无法弄清楚。
Vector3 dist;
Vector3 startPos;
float posX;
float posZ;
float posY;
void OnMouseDown()
{
startPos = transform.position;
dist = Camera.main.WorldToScreenPoint(transform.position);
posX = Input.mousePosition.x - dist.x;
posY = Input.mousePosition.y - dist.y;
posZ = Input.mousePosition.z - dist.z;
}
void OnMouseDrag()
{
float disX = Input.mousePosition.x - posX;
float disY = Input.mousePosition.y - posY;
float disZ = Input.mousePosition.z - posZ;
Vector3 lastPos = Camera.main.ScreenToWorldPoint(new Vector3(disX, disY, disZ));
transform.position = new Vector3(lastPos.x, 4.8f, lastPos.z);
}
我希望对象跟随鼠标,但它的移动方向与鼠标相同,只是速度较慢。
【问题讨论】: