.NET Framework 2.0 を使用して 2D プラットフォーマーをプログラミングしています。私は SFML .NET を使用しています。SFML .NET はクロスプラットフォームであり、MONO でサポートされており、成熟した API を備えています。私の問題は、プログラムが適切にコンパイルされ、適切に実行されるにもかかわらず、プログラムを閉じるときにエラーが発生することです。
「0x5ed0530e」の命令が「0x0000051c」のメモリを参照していました。メモリを「読み取る」ことができませんでした
慎重にデバッグした後、SFML String2d クラスを初期化した後に問題が発生することに気付きました。
なにが問題ですか; プログラムを閉じるときにこのエラーが発生するのはなぜですか? また、何も問題がないとしても、プログラムのユーザーがエラーに悩まされないように、エラーの受信を停止する方法はありますか?
システムを使用して; SFML.Graphics の使用; SFML.Window の使用;
namespace ProGUI
{
class TextBox : Sprite
{
private String2D Text;
public TextBox(RenderWindow App)
{
Image = new Image(App.Width, App.Height / 4, new Color(0, 0, 0));
Position = new Vector2(0, App.Height - App.Height / 4);
}
public void SetText(string text)
{
Text = new String2D(text);
Text.Font = new Font("Greyscale_Basic_Bold.ttf");
Text.Position = new Vector2(Position.X + 5, Position.Y + 5);
Text.Size = 12;
}
public string GetText()
{
return Text.Text;
}
public void Render(RenderWindow App)
{
App.Draw(this);
App.Draw(Text);
}
public void MainLoop(RenderWindow App, Color clr)
{
while (App.IsOpened())
{
App.Clear(clr);
App.DispatchEvents();
App.Draw(this);
App.Draw(Text);
App.Display();
}
}
}
}
ご覧のとおり、危険なコードはありません。絶対にクリーンでシンプル。