都市データの入力が終わりまして、
画面に都市の情報を表示させてみたいと思います。
今までの実装では
こんな感じになってました。
テキストだけを表示させている、と言う状態です。
これでは見づらいので、表示ウィンドウを作りたいと思います。
class InfomationWindow
{
private TextObject2D _valueText;
private GeometryObject2D _windowBox;
private GeometryObject2D[] _geometryObj = new GeometryObject2D[4];
private RectangleShape _rect;
private LineShape[] _line = new LineShape[4];
private const int rectWidth = 250;
private const int rectHeight = 70;
private const int xPositionOffset = 10;
public InfomationWindow()
{
}
public void AddLayer(Layer2D layer)
{
_windowBox = new GeometryObject2D();
_windowBox.DrawingPriority = 10;
_windowBox.Color = new Color(255, 255, 255, 255);
_rect = new RectangleShape();
layer.AddObject(_windowBox);
for(int i = 0; i < 4; i++)
{
_geometryObj[i] = new GeometryObject2D();
_geometryObj[i].DrawingPriority = 10;
_geometryObj[i].Color = new Color(0, 0, 0, 255);
_line[i] = new LineShape();
_line[i].Thickness = 5;
_geometryObj[i].Shape = _line[i];
layer.AddObject(_geometryObj[i]);
}
_valueText = new TextObject2D();
_valueText.Font = Singleton.Font;
_valueText.DrawingPriority = 20;
layer.AddObject(_valueText);
}
public void ShowText(Vector2DF pos, string text)
{
_rect.DrawingArea = new RectF(pos.X, pos.Y, rectWidth, rectHeight);
_windowBox.Shape = _rect;
_line[0].StartingPosition = new Vector2DF(pos.X, pos.Y);
_line[0].EndingPosition = new Vector2DF(pos.X + rectWidth, pos.Y);
_line[1].StartingPosition = new Vector2DF(pos.X + rectWidth, pos.Y);
_line[1].EndingPosition = new Vector2DF(pos.X + rectWidth, pos.Y + rectHeight);
_line[2].StartingPosition = new Vector2DF(pos.X + rectWidth, pos.Y + rectHeight);
_line[2].EndingPosition = new Vector2DF(pos.X, pos.Y + rectHeight);
_line[3].StartingPosition = new Vector2DF(pos.X, pos.Y + rectHeight);
_line[3].EndingPosition = new Vector2DF(pos.X, pos.Y);
_valueText.Text = text;
_valueText.Position = new Vector2DF(pos.X + xPositionOffset, pos.Y);
}
public void AppendText(Vector2DF pos, string text)
{
_valueText.Text += text;
_valueText.Position = new Vector2DF(pos.X + xPositionOffset, pos.Y);
}
}
画面に白い四角形を描画し、それに追加して、四辺に線を書きました。
あ、そうだ、タイトル画面作らないと。
次回はタイトル画面作ります。
「【北海道大戦2021】都市データを表示。」への1件のフィードバック