マップ(マップのすべてのポイントに関する情報を含む.txtファイル)を作成し、ロードして描画できる、ある程度完全なアプリケーションを作成しました。
これに対する私の解決策は、Windowsフォームアプリケーション内に、ポイントを表すパネル(マップ上を移動できる必要があるため)とそのパネルの画像ボックス内(背景画像と画像を配置したいため)を配置することでした。サイズ50x50ピクセルのマップの。私が今直面している問題は、画像を画像ボックスにロードしているため、アプリケーションのロード時間が長くなることです...
誰かが私が試みていることに代わる提案がありますか?視覚的表現が役立つ場合があります:
要求に応じたコード:(まあ、その一部)
private void Load_Map()
{
for (int i = Y - 12; i < Y + 12; i++)
{
if ((i >= 0) & (i < Int32.Parse(MP.Mheight)))
{
string Line = xline[i];
for (int j = X - 12; j < X + 12; j++)
{
if ((j >= 0) & (j < Int32.Parse(MP.Mwidth)))
{
int X = i * Int32.Parse(MP.Mwidth) + j;
int Z = Int32.Parse(Line[j].ToString());
Map_Location[X] = Z;
Color H = new Color();
Map_Point(j, i, Map_Height(Z, H), 50);
}
}
}
}
}
ポイントの作成:
private void Map_Point(int X, int Y, Color H, int Point_Size)
{
PictureBox MP = new PictureBox();
MP.Name = Map_Coordinates(X, Y);
MP.Size = new Size(Point_Size, Point_Size);
MP.Location = new Point(Y * (Point_Size + 1) + 4, X * (Point_Size + 1) + 4);
MP.BackColor = H;
Control MW = this.Controls["WorldMap"];
MW.Controls.Add(MP);
}