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

Unity中OnMouseDown增量计数器的C#语法错误求助

问题分析与修复

语法错误点

  • if语句格式错误:if i >= 50; 不符合C#语法规范,if条件必须用括号包裹,且结尾不能加分号(分号会让if成为空语句,后续代码和if逻辑完全脱离)。
  • API调用错误:Debug.log 应为Debug.Log,Unity调试API的方法名首字母需大写。
  • 代码块逻辑混乱:if后的代码未用大括号包裹,还存在无意义的多余代码块,导致执行逻辑完全错误。

修正后的代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Supercyl : MonoBehaviour
{
    private int currentNumber = 5; // 替换无意义变量名i,提升可读性

    void Start()
    {
    }

    void Update()
    {
    }

    private void OnMouseDown()
    {
        // 先输出当前数值,再判断是否可继续增加
        Debug.Log(currentNumber);
        
        if (currentNumber < 50)
        {
            currentNumber += 5;
        }
        // 数值达到50后,点击不再递增
    }
}

逻辑说明

  • 变量名改为currentNumber,让代码意图更清晰。
  • 点击时先输出当前数字,再判断是否小于50,满足条件则增加5,确保数值最大值不超过50。
  • 修复所有语法问题后,脚本可正常挂载到Unity对象上(注意对象需添加碰撞体组件,OnMouseDown才能被触发)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 21:10:52