我如何堆叠来自不同 "public void" 的相同 "int"?

How do i stack the same "int" from different "public void"s?

我正在尝试获取一个可以显示为 "Cash" 的 int 值,我可以花掉它,你可以通过按下按钮获得现金,但是当我向 "int" 值添加一些内容时在该按钮的 "public void" 中,它不会与另一个按钮的另一个 "public void" 的 int 值叠加,我是 C# 编码的新手,我不明白问题是什么,我不知道从哪里开始解决未知问题,所以我问你。 (这是我的第一个 post 所以我做这个的时候可能做错了什么)

我尝试了一些我不知道怎么说的不同的东西,但它们都没有用。而且我还没有找到任何对我有帮助的东西,或者关于这个问题的任何东西(也许我只是瞎了眼)

using UnityEngine;
using UnityEngine.UI;

public class Cash : MonoBehaviour
{

private int result;

public void Button1()
    {
        result = result + 1;
        scoreText.text = "Cash: " + result.ToString();
    }

public void Button2()
    {
        result = result + 5;
        scoreText.text = "Cash: " + result.ToString();
    }
}

(这不是整个脚本) 我希望将两个 "int" 值相加,如果我按下按钮 1,它会说“1”,然后当我按下按钮 2 时,它会说“6”,但它说“5”,当我再次按下第一个按钮,它显示“2”

[ 工作解决方案:将 "private int result;" 更改为 "static int result;"(按 Svarr 回答)]

此问题已由发表评论的 Svarr 解决 "If (as I believe) @stuartd and @PeterA.Schneider are right, you can solve your problem by making result static. Keep in mind that this is more of a hack than a solution - even if there is no way around creating more than one instance of Cash."

这行得通,所以我现在将此线程标记为已解决。 (我不明白@stuartd 和@PeterA.Schneider 告诉我什么(因为我很笨)所以我现在只提到他们。

所以我所做的就是将 "private int result;" 更改为 "static int result;",我的问题就解决了