如何从另一个类更改变量值?

本文关键字:改变 变量值 另一个 | 更新日期: 2023-09-27 18:17:02

我正在制作一款基于XNA的射击游戏。我正在制作一个关卡系统,每一分钟,关卡都会提升,敌人的速度也会加快。

在我的主类(Game1.cs)中,我有增加级别的方法,在Enemy类中,我有一个变量public int speed = 2;,用于敌人的更新

public override void Update()
{
    base.pos.Y += speed;
}

Game1类中,我有这个方法

public void LevelSystemUpdate()
{            
    if (timer > 60f)
    {
        level += 1;
        timer = 0f;
    }
}

我想在那里添加一行,比如Enemy.speed += 2;,但是它不允许。

同样,我在Enemy类中也有这个

public int Speed
{
    get
    {
        return speed;
    }
    set
    {
        speed = value;
    }
}

但我不知道如何使它工作。谢谢大家!

如何从另一个类更改变量值?

因为你没有在getter &设置Speed属性,您应该将语法切换为Auto-Property,如下所示:

public int Speed { get; set; }

这样,您就不需要私有字段speed,因此不会在两个

之间混淆。

为了避免将来出现这样的错误,你可以为你的私有变量使用一个命名模式(例如:m_speed,其中"m"代表成员)。

添加Enemy.Speed += 2而不是Enemy.speed,并在Enemy类中将变量设为私有