用鼠标移动在x轴上移动物体

时间:2015-04-15 12:33:39

标签: c# unity3d 2d axis

我正在尝试创建一个游戏,玩家将一个立方体从屏幕顶部下移到底部,根据他们从多大程度上放下立方体的位置收集点(如Coin Pusher街机游戏)。

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

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

我渴望只在X上进行动作,但我不确定如何实现这一目标。

谢谢。

2 个答案:

答案 0 :(得分:0)

这可能有效:

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

答案 1 :(得分:0)

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

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

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

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