控制鼠标的代码如下,我这个是鼠标控制游戏物体,鼠标移到哪里,游戏物体跟到哪里
Vector3 dis = Camera.main.ScreenToWorldPoint(Input.mousePosition);
dis.z = this.transform.position.z; //固定z轴
this.transform.position = dis;
this.transform.position = Vector3.Lerp(this.transform.position, dis, Time.deltaTime);
this.transform.position = Vector3.MoveTowards(this.transform.position, dis, Time.deltaTime);
Vector3 speed = Vector3.zero;
this.transform.position = Vector3.SmoothDamp(this.transform.position, dis, ref speed, 0.1f);
using UnityEngine;
public class Example : MonoBehaviour
{
//插值速度
private float speed = 5f;
//倍数
private float multiple = 1f;
private void Update()
{
Vector3 dis = Camera.main.ScreenToWorldPoint(Input.mousePosition) * multiple;
dis.z = transform.position.z;
transform.position = Vector3.Lerp(transform.position, dis, Time.deltaTime * speed);
}
}
你这样写效果不是你想要的吗
鼠标点击位置不变,物体移动距离为原来的1.5倍的话,dis*1.5.
另外lerp,movetowards,smoothDamp 都是计算下个位置的方法,建议学习一下,选一个用就好
感谢大家的帮助,非常感谢。