You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity中无法调整玩家移动速度,疑似脚本存在问题求助

问题排查与解决
  • 首要排查:脚本重复挂载
    打开玩家物体的Inspector面板,检查是否把这个移动脚本挂载了多次。如果挂载了N次,每帧会执行N次移动逻辑,相当于速度被乘以N,不管你改单个脚本的数值,叠加后的速度都会异常快。删除多余的脚本实例即可。

  • 修复代码语法错误
    你的代码里void Update()后面多了一个多余的反引号(),这会导致编译失败。Unity在编译出错时会沿用上次正确编译的版本运行,所以你修改的moveSpeed和leftRightSpeed`根本没生效,速度还是旧版本的数值。把这个多余的反引号删掉,同时可以优化D键移动的代码写法:

    public float moveSpeed = 1;
    public float leftRightSpeed = 4;
    void Update()
    {
        transform.Translate(Vector3.forward * Time.deltaTime * moveSpeed, Space.World);
    
        if (Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.LeftArrow))
        {
            if (transform.position.x > LevelBoundary.leftSide) 
            {
                transform.Translate(Vector3.left * Time.deltaTime * leftRightSpeed);
            }
        }
    
        if (Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.RightArrow))
        {
            if (transform.position.x < LevelBoundary.rightSide)
            {
                // 改用Vector3.right替代Vector3.left*-1,代码更直观
                transform.Translate(Vector3.right * Time.deltaTime * leftRightSpeed);
            }
        }
    }
    
  • 额外验证步骤
    修复后,在Inspector面板修改速度数值,点击Unity的"播放"按钮,查看移动速度是否正常。如果仍有问题,检查LevelBoundary的边界数值是否合理(边界值过大不会导致速度变快,但可能让移动限制逻辑失效)。

内容的提问来源于stack exchange,提问作者Julie Readnour

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 19:52:38