SFML.NET をダウンロードして、それに含まれるライブラリ DLL への参照を追加しましたが、Text クラスがないようです。サイトの例では、 Text オブジェクトが使用されていることは明らかです...そのため、例はコンパイルされません。自分で見て...
代替テキスト http://filebox.me/files/5gubdwfcr_helpme.png
あるのはフォントだけで、テキストはありません! 誰が私が間違っている可能性があるか知っていますか?
SFML.NET をダウンロードして、それに含まれるライブラリ DLL への参照を追加しましたが、Text クラスがないようです。サイトの例では、 Text オブジェクトが使用されていることは明らかです...そのため、例はコンパイルされません。自分で見て...
代替テキスト http://filebox.me/files/5gubdwfcr_helpme.png
あるのはフォントだけで、テキストはありません! 誰が私が間違っている可能性があるか知っていますか?
おそらく、String2Dが削除されてTextに置き換えられた2.xサンプルを見ているでしょう。String2Dは1.x用であり、Textプロパティを使用して表示内容を変更します。
幸いなことに、インターフェースは非常に似ています。Textとして宣言されたものをString2Dに置き換えるだけで、他のコードを変更せずにTextプロパティをDisplayedStringに変更できるはずです。各バージョンの例:
VB.Net
SFML.NET 1.x
Imports SFML
Imports SFML.Window
Imports SFML.Graphics
Public Sub Main()
Dim Output As New RenderWindow(New VideoMode(640, 480), "SFML.NET Text Example")
Dim ExampleText As New String2D("", New Font("myfont.tff"))
ExampleText.Position = New Vector2(5, 5)
Do While (true)
Output.Clear(New SFML.Graphics.Color(0,128,160))
ExampleText.Text= String.Format("Hello, world! {0}", DateTime.Now.ToString("hh:MM.ss"))
Output.Draw(ExampleText)
Output.Display()
End While
End Sub
SFML.NET 2.x
Imports SFML
Imports SFML.Window
Imports SFML.Graphics
Public Sub Main()
Dim Output As New RenderWindow(New VideoMode(640, 480), "SFML.NET Text Example")
Dim ExampleText As New Text("", New Font("myfont.tff"))
ExampleText.Position = New Vector2(5, 5)
Do While (true)
Output.Clear(New SFML.Graphics.Color(0,128,160))
ExampleText.DisplayedString = String.Format("Hello, world! {0}", DateTime.Now.ToString("hh:MM.ss"))
Output.Draw(ExampleText)
Output.Display()
End While
End Sub
C#
SFML.NET 1.x
using SFML;
using SFML.Window;
using SFML.Graphics;
public void Main()
{
var output = new RenderWindow(new VideoMode(640, 480), "SFML.NET Text Example");
var exampleText = new String2D("", new Font("myfont.tff"));
exampleText.Position = new Vector2(5, 5);
while(true)
{
var timestamp = DateTime.Now.ToString("hh:MM.ss");
output.Clear(new SFML.Graphics.Color(0, 128, 160));
exampleText.Text = $"Hello, world! {timestamp}";
output.Draw(exampleText);
output.Display();
}
}
SFML.NET 2.x
using SFML;
using SFML.Window;
using SFML.Graphics;
public void Main()
{
var output = new RenderWindow(new VideoMode(640, 480), "SFML.NET Text Example");
var exampleText = new Text("", new Font("myfont.tff"));
exampleText.Position = new Vector2(5, 5);
while(true)
{
var timestamp = DateTime.Now.ToString("hh:MM.ss");
output.Clear(new SFML.Graphics.Color(0, 128, 160));
exampleText.DisplayedString = $"Hello, world! {timestamp}";
output.Draw(exampleText);
output.Display();
}
}
明らかに非常に単純な例ですが、うまくいけば、違いがいかに単純であるかを示しています。
最新の SFML.net にはText
クラスがあります。使用方法は C++ と同じですが、C# を使用する必要があります。properties
String2Dクラス(ドキュメントのStringクラス)を使用して実際にテキストを描画することをお勧めします。チュートリアルのこのクラスの変数はTextと呼ばれ、おそらく混乱した場所です。