要实现与onMouseDrag相同的速度移动GameObject,可以使用以下步骤:
using UnityEngine;
public class MoveObject : MonoBehaviour
{
private Vector3 startPosition;
private Vector3 currentPosition;
private void OnMouseDown()
{
startPosition = Input.mousePosition;
// 停止刚体运动
Rigidbody rb = GetComponent<Rigidbody>();
if (rb != null)
{
rb.isKinematic = true;
}
}
private void OnMouseDrag()
{
currentPosition = Input.mousePosition;
Vector3 offset = currentPosition - startPosition;
transform.position += offset * Time.deltaTime;
}
private void OnMouseUp()
{
// 恢复刚体运动
Rigidbody rb = GetComponent<Rigidbody>();
if (rb != null)
{
rb.isKinematic = false;
}
}
}
通过以上步骤,你可以实现以与onMouseDrag相同的速度移动GameObject。在鼠标按下并拖动时,游戏对象将根据鼠标的位移量进行平滑移动。
领取专属 10元无门槛券
手把手带您无忧上云