我正在尝试创建一个游戏,玩家将一个立方体从屏幕顶部下移到底部,根据他们从多大程度上放下立方体的位置收集点(如Coin Pusher街机游戏)。
目前我可以让我的立方体移动到鼠标,但这是X和Y值。见 -
Camera.main.ScreenPointToRay(Input.mousePosition);
Vector3 mouse = Input.mousePosition;
mouse = mouse;
transform.position = Camera.main.ScreenToViewportPoint(mouse);
我渴望只在X上进行动作,但我不确定如何实现这一目标。
谢谢。
答案 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);
这将保持对象沿其他轴的位置,但将其与鼠标光标的水平位置对齐。