我创建了一个静态类,它需要能够更改对象中使用的精灵。但是,在非静态类中,我可以将对象中的 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);
}
可能有更好的方法来做到这一点,但我在搜索中没有找到任何东西。