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

Unity C# 绑定玩家x轴位置的分数按下W/S键异常上涨问题求助

问题排查与修复方案

核心问题原因

你当前代码的逻辑是将玩家物体的X轴坐标实时转换为整数作为分数展示,出现按W/S键分数变动的问题,根源是两点:

  • 你项目中玩家的W/S移动按键绑定的是X轴方向的位移,按下按键时player.position.x数值发生变化,就会同步更新到计分板上
  • Brackeys的该系列教程里的跑酷原型默认以玩家沿Z轴正方向的移动距离作为计分依据,你的代码错误读取了X轴坐标而非要求的Z轴坐标,才会出现和前后移动按键绑定的异常表现

修复方法

直接修改Update方法内读取坐标的轴向即可,修改后代码如下:

using UnityEngine;
using UnityEngine.UI;

public class SCORE : MonoBehaviour
{
    public Transform player;
    public Text scoreText;

    void Update()
    {
        // 将原代码的position.x替换为position.z
        scoreText.text = player.position.z.ToString("0");
    }
}

如果修改后仍有异常,可以额外排查两个点:

  • 确认玩家移动脚本的前进轴向为Z轴,没有因为手动旋转玩家物体导致移动对应轴向发生变化
  • 确认SCORE脚本的player参数绑定的是你实际控制移动的玩家物体,没有错绑其他对象的Transform组件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 09:09:02