unity 拖拽某个UI移动时有三个方法:,例如是image类型的UI,要想实现图片跟随着鼠标移动需要以下操作:
第一个方法:在Update函数中执行
if(Input.GetMouseButton(0))
{
follow.position = Input.mousePosition;
}
第二个方法:在Update函数中执行
Vector3 V = Input.mousePosition;
Vector3 V2 = new Vector3(V.x-Screen.width/2,V.y-Screen.height/2);
follow.localPosition = V2;
以上只是通过鼠标的状态来控制物体的移动。
第三个方法:结合UI系统提供的事件来控制物体的移动
例如,我们给panel添加一个EventTrigger组件,分别添加Drag 和pointerDown两个事件
分别绑定触发的方法为MoveObject(),PointerDown();
public void MoveObject()
{
Vector3 off = Input.mousePosition - vec3;
vec3 = Input.mousePosition;
pos = pos + off;
transform.GetComponent<RectTransform>().position = pos;
}
public void PointerDown()
{
vec3 = Input.mousePosition;
pos = transform.GetComponent<RectTransform>().position;
}
这样就可以用鼠标拖动UI系统的panel了