使用Getaxis在c#/ Unity3D中沿x轴移动带有鼠标和箭头键的对象?

时间:2016-06-14 19:26:38

标签: c# unity3d

背景:我正在制作突破性克隆。我有一个桨的脚本,可以通过鼠标移动成功地沿着X轴移动桨。

欲望:我希望这个游戏有两个输入。一个是鼠标,另一个是左右箭头键。我进入编辑---->项目设置---->输入,但我不确定如何调整Alt Negative,Alt正向按钮以在x轴上与鼠标对齐。

我还想根据游戏画面的大小来限制动作。我知道我必须使用Mathfclamp方法,但是我不确定如何在我的脚本中以正确的顺序格式化。

以下是我用于GetAxis的代码。

public class Paddle : MonoBehaviour {


   public float speed;


    void Update () 
    {
        float x = Input.GetAxis("Mouse X")* Time.deltaTime*speed;


        transform.Translate (x,0,0);

    }
}

1 个答案:

答案 0 :(得分:0)

您无法使用箭头键 for (i = 0; i < SIZE; i++) for (j = 0; j < SIZE; j++) /* simple toggle 'T' or ' ' */ forest[i][j] = (i + j) & 1 ? 'T' : ' '; ,但有关如何执行此操作的技巧。首先,使用forest获取鼠标移动值并将其存储到变量Input.GetAxis。如果Input.GetAxis更多更少而不是 0 ,则使用x中的值移动对象。

如果x值为 0 ,请检查是否按下左箭头或右箭头,然后将Input.GetAxis的方向设为x或{ {1}}取决于按下了哪个键。另一件需要知道的是,两个速度乘数必须是不同的值。应该有鼠标的速度倍增器和键盘的另一个速度倍增器或对象将从屏幕上消失。鼠标的适当值为x,键盘的值为Vector3.right*speed

Vector3.left.x * keySpeed