为什么当我创建一个从另一个GameComponent类派生的类时,游戏类只会更新原始类中的内容?更新
本文关键字:更新 游戏类 原始 派生 创建 一个 为什么 GameComponent 另一个 | 更新日期: 2023-09-27 17:54:55
当我创建我的类ConfigsPC
派生自我创建的另一个类Configs
时,我无法更新ConfigsPC
类Update
方法中的任何内容,但我能够更新Configs
类Update
方法中的内容。这是我的问题,我不知道我处理这种情况的方式有什么问题,我不能做我想做的事吗?如果我是,有什么可能的方法来解决这个问题?
public class ConfigsPC : Configs
{
public ConfigsPC(Game game)
: base(game)
{
this.Initialize();
}
public override void Update(GameTime gameTime)
{
// Example of a value I'm trying to update.
Game.IsMouseVisible = false;
base.Update(gameTime);
}
public override void Draw(GameTime gameTime)
{
base.Draw(gameTime);
}
}
public class Configs : Microsoft.Xna.Framework.GameComponent
{
public Configs(Game game)
: base(game)
{
}
public override void Initialize()
{
base.Initialize();
}
public override void Update(GameTime gameTime)
{
base.Update(gameTime);
}
}
听起来你想让你的Update
方法virtual
。但是,如果没有看到你的代码,很难更具体。
你是否记得将ConfigsPC
注册到你的游戏组件集合中?
public class ConfigsPC : Configs
{
public ConfigsPC(Game game)
: base(game)
{
this.Initialize();
game.Components.Add(this); // add this line
}
它只会对添加到集合中的组件自动调用update。