我创建了一个静态类,它需要能够更改对象中使用的精灵。但是,在非静态类中,我可以将对象中的 ContentManager 称为this.Content,但在静态类中,它说“this”不能使用。
对于如何从静态类引用此对象中的内容管理器,我有点迷茫。我尝试使用对象而不是this( enemies[i].),但这不起作用。我也尝试使用 just ContentManager.,但它告诉我也不存在。
我仍然不完全理解 ContentManager 以及为什么它需要在每个对象中,但我很难找到关于它是什么以及它做什么的真正详细信息(大多数教程似乎掩盖了它,只是说它必要的)
这是我到目前为止的代码片段。它简化了一点(还有很多),但只有this.Content一部分给我带来了麻烦:
public static void fight(List<enemy> enemies)
    {
        for (int i = 0; i < enemies.Count; i++)
            {
                if (enemies[i].hp <= 0)
                                {
                                    enemies[i].LoadContent(this.Content, "spr_enemy_dead");
                                }
enemy这是在对象内包含内容管理器的方法:
public void LoadContent(ContentManager theContentManager, string AssetName)
    {
        spr_enemy = theContentManager.Load<Texture2D>(AssetName);
    }
可能有更好的方法来做到这一点,但我在搜索中没有找到任何东西。