如何从另一个类更改变量值?
本文关键字:改变 变量值 另一个 | 更新日期: 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
类中将变量设为私有