我有一个圆形的精灵,我只想在2个空的游戏对象(点)之间移动。使用Vector3.Lerp(),我可以在这些点之间移动圆
void FixedUpdate()
{
float speed = 10 * Time.deltaTime;
float current = Mathf.PingPong(Time.time * speed, 1.0f);
transform.position = Vector3.Lerp(startPoint.position, endPoint.position, current);
}
问题:
我想使用鼠标拖动(基本上就像从a点到b点的滑块)移动该圆,并在鼠标离开该圆后立即停止移动
我尝试过的事情:
我尝试添加一个在两个点之间具有盒碰撞器的游戏对象,并使用触发器来检测圆何时退出触发器 (OnTriggerExit2D),但此解决方案仅在圆完全离开对撞机时才有效(我不想要)。我想要一种使圆圈移动的方法,就像其当前在Vector3.Lerp中使用鼠标控件进行移动一样
我尝试将圆仅锁定到一个轴并移动它。在这种情况下,当我旋转整个滑块时,它就失败了,因为它只锁定在一个轴上,并且旋转不会改变
我也试图将鼠标位置实现到Vector3.Lerp函数中,但是没有运气
Vector3.Lerp(startPoint.position, endPoint.position, mousePosition.x);
我尝试了y和z,但都失败了。而且当我去旋转滑块时,这种方式将无效