学校のプロジェクト用のゲームを作成しています。これは 2D プラットフォーマーであり、非常に初期の段階にあります。C#/XNA を使用し、Farseer Physics Engine を実装しています。現在、マップクラスに苦労しています。このクラスには、DrawableGameObjects のリストがあり、マップの各タイルを保存して描画します。しかし、それらを描画しようとすると、「Assertion Failed」が表示されます。この問題をさらに詳しく調べると、世界に静的な物体以外のものを追加しようとすると (たとえそれらを描画しなくても)、この失敗が発生するという結論に達しました。メッセージを投げる
Game1.cs:210 行目は次のとおりです。
world.Step(0.033333f);
Program.cs:line 15 は次のとおりです。
game.Run();
Map クラスのコードは次のとおりです。
class Map
{
private List<DrawableGameObject> ground = new List<DrawableGameObject>();
public Map(World world, Texture2D texture)
{
for (int i = 0; i < 32; i++)
{
DrawableGameObject floor = new DrawableGameObject(world, texture, new Vector2(40, 40), 100, "ground");
floor.Position = new Vector2(i * 40, 500);
floor.body.BodyType = BodyType.Static;
ground.Add(floor);
}
}
public void Draw(SpriteBatch spriteBatch){
foreach (DrawableGameObject dgo in ground)
dgo.Draw(spriteBatch);
}
}
何か案は?問題をFarseer のフォーラムに投稿しましたが、まだあまり役に立ちません...