スペース インベーダーのようなミニ ゲームを C# (Windows フォーム) で作成しようとしています。宇宙船はうまく飛んでいますが、複数のショットが得られませんtimer_Tick
。アニメーションを作成する方法があります。スペースを押して撮影すると、最初のショットはうまくいきますが、2 番目のショットです。このハーフポジションでの最初のショットは消えます。ショットはで、pictureBox
のリストを試しpictureBox
ましたが、成功しませんでした。
私はこのようなものを持っています:
public void Form1_Load(object sender, EventArgs e)
{
shootP = new PictureBox();
shootP.Image = Properties.Resources.shoot_1;
shootP.SizeMode = PictureBoxSizeMode.Zoom;
shootP.Size = new Size(10, 72);
ListShoot = new List<PictureBox>();
int i = -1;
}
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Space)
{
control = false;
i++;
ListShoot.Add(shootP);
timeShoot.Start();
}
private void timeShoot_Tick(object sender, EventArgs e)
{
if (control == false)
{
ListShoot[i].Location = new Point(spacecraft._imageBox.Location.X + 50, spacecraft._imageBox.Location.Y - 55); // align the shoot with spacecraft
control = true;
}
ListShoot[i].Top -= 40;
}
私は何を間違っていますか?