使用鼠标移动在 x 轴上移动对象

Moving object on x axis with mouse move

我正在尝试创建一个游戏,让玩家将立方体从屏幕顶部扔到底部,根据他们从哪里放下立方体在下降的过程中收集点数(例如投币机街机游戏) .

目前我可以让我的立方体移动到鼠标上,但这在 X 和 Y 值上都是如此。见 -

Camera.main.ScreenPointToRay(Input.mousePosition);
Vector3 mouse = Input.mousePosition;
mouse = mouse;
transform.position = Camera.main.ScreenToViewportPoint(mouse);

我很想只在 X 上进行移动,但不确定如何实现。

谢谢。

这可能有效:

transform.position = new Vector3(Camera.main.ScreenToViewportPoint(mouse).x, 0, 0);

您在代码中做了一些不必要的事情,主要是第一行和第三行。我会尽量用我的答案来简化你的代码。

无论如何,你有鼠标的 X 和 Y,所以你需要做的就是让你的对象只移动到它的 X 位置。现在您指定对象的整个位置以匹配鼠标的位置。

Vector3 mouse = Camera.main.ScreenToViewportPoint(Input.mousePosition);
transform.position = new Vector3(mouse.x, transform.position.y, transform.position.z);

这将保持您的对象沿其他轴的位置,但将其与鼠标光标的水平位置对齐。