オブジェクトで使用されるスプライトを変更できる必要がある静的クラスを作成しました。ただし、非静的クラスでは、オブジェクト内のContentManagerをとして参照できましたthis.Content
が、静的クラスでは、「this」は使用できないと表示されます。
静的クラスからこのオブジェクトのコンテンツマネージャーを参照する方法について少し迷っています。this
( )の代わりにオブジェクトを使用しようとしましたenemies[i].
が、これは機能しませんでした。だけ使ってみ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);
}
これを行うにはおそらくもっと良い方法がありますが、検索で何も見つかりませんでした。