Vector2 x = new Vector2(0.1f,0)
提示コード上部のこのコードなのですが0.1fを最上部に宣言しているspeed変数に置き換えて実行するとキーを押した瞬間座標がバグり動作しません、なぜなのでしょうか?また解決方法をおしえてくれますでしょうか?

public class PlayerController : MonoBehaviour {
    public float speed = 0.1f;
    // Use this for initialization
    void Start () {
    }

    // Update is called once per frame
    void Update () {
        Vector2 x = new Vector2(0.1f,0);
        if(Input.GetKey(KeyCode.RightArrow)) {
            transform.Translate(Vector2.right * x);
        }

        if (Input.GetKey(KeyCode.LeftArrow)) {
            transform.Translate(Vector2.left * x);
        }
    }
}