それで、私はエコノミーという小さなゲーム プロジェクトに取り組んでいましたが、ちょっとした問題に遭遇しました。私が欲しいのは、誰かが新しい従業員を雇ったときに画面に棒人間を描くことです。これを行うには、新しい画像ボックスを作成し、棒人間の画像をそれに割り当てます。ただし、これを何度も行う必要があったため (無制限の従業員を持つことができるようにするため)、毎回新しいオブジェクトを作成しました。
棒人間を削除するために、誰かが彼らを解雇したときに、古い棒人間の上に新しい画像ボックスを追加しました。白いだけなので、棒人間が消えたかのように見えます。ただし、何らかの理由で BringToFront(); は動作していないように見えるので、棒人間の上に白い絵を描くことができません。
誰かがなぜそれが機能しないのか、または元のスティックマンのピクチャボックスを参照してイメージを変更する方法を教えてくれれば、それは素晴らしいことです.
public void Hire_Worker_Click(object sender, EventArgs e)
{
workers++;
money -= 10000;
PictureBox WPB = new PictureBox();
//Set location and size of new picturebox
WPB.Image = Economy.Properties.Resources.Worker;
WPB.Width = 68;
WPB.Height = 118;
WPB.Location = new Point(workerx,400);
workerx += 68;
Controls.Add(WPB);
}
public void Fire_Worker_Click(object sender, EventArgs e)
{
if (workers > 1)
{
clickfire++;
workers--;
money -= 100;
if (clickfire == 1)
{
workerx -= 68;
}
PictureBox WWPB = new PictureBox();
//Set location and size of picturebox
WWPB.BringToFront();
WWPB.Image = Economy.Properties.Resources.whiteworker;
WWPB.Width = 68;
WWPB.Height = 118;
WWPB.Location = new Point(workerx, 375);
workerx -= 68;
Controls.Add(WWPB);
}
}