0 голосов
спросил от в категории C
Привет, Dan,

Есть некоторые изменения, которые сделают ваш проект работать.
Сначала в форме нажмите клавишу Метод:

Keypress eventargument не может иметь защиту кода ключа, поэтому вам нужно использовать keychar

private void Form1_KeyPress(object sender, KeyPressEventArgs e)        {            var ky = Keys.Space;            if (e.KeyChar == ' ')            {                AgregarBala(PicNave);            }            {                AgregarBala(PicNave);            }        } 
< br>

Второй в
AgregarBala
Метод:
Здесь вы можете изменить ширину и высоту и наиболее важные для добавьте «pbBala» к элементу «PicFondo», установленному в mainform (this).

public void AgregarBala(PictureBox pbPadre)         {             Array.Resize(ref pbBala, indice_Bala + 2);             pbBala[indice_Bala] = new PictureBox();             pbBala[indice_Bala].Visible = true;             pbBala[indice_Bala].Image = Image.FromFile(Application.StartupPath + "Cohete.jpg");             pbBala[indice_Bala].Height = 75;             pbBala[indice_Bala].Width = 10;             pbBala[indice_Bala].Top = pbPadre.Top + (pbPadre.Height / 2);             pbBala[indice_Bala].Left = pbPadre.Left + pbPadre.Width;             pbBala[indice_Bala].SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;             PicFondo.Controls.Add(pbBala[indice_Bala]);             indice_Bala++;         }


Третий таймер iN:
Измените
pbBala[i].Left= pbBala[i].Left + 20; 
на
pbBala[i].Top = pbBala[i].Top - 20; 


private void playTimer(object sender, EventArgs e)       {           //player.Left += moveLeft;           Misil.Top -= bulletSpeed;           PicEne1.Top += enemyMove;           PicEne2.Top += enemyMove;           PicEne3.Top += enemyMove;           PicEne4.Top += enemyMove;           PicEne5.Top += enemyMove;           LblPuntos.Text = "" + score;           for (int i = 0; i < indice_Bala; i++)           {               pbBala[i].Top = pbBala[i].Top - 20;           }           if (PicEne1.Top == 660 || PicEne2.Top == 660 || PicEne3.Top == 660 || PicEne4.Top == 660 || PicEne5.Top == 660)           {               gameOver();           }           if (shooting && Misil.Top < 0)           {               shooting = false;               for (int i = 1; i <= 50; i++)                   bulletSpeed = 0;               //Misil.Top = -100;               //Misil.Left = -100;           }           enemyHit();       } 


И, наконец, IN
private void playTimer(object sender, EventArgs e)


Метод для игры через игру с PicEne.Location и picNav.Location insted этого
if (PicEne1.Top == 660 || PicEne2.Top == 660 || PicEne3.Top == 660 || PicEne4.Top == 660 || PicEne5.Top == 660)           {               gameOver();           } 



Надеюсь, это поможет вам, ЕСЛИ ТАК. Не забудьте отметить «Принять решение»

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
0 голосов
ответил от
Привет, спасибо за ответ. Еще вопрос: этот блок кода, как это будет в конечном итоге?

Когда «AgregarBala (PicNave)» пересекает С любой PicEnemy, тогда мой счет затем увеличивается.

Это кодовый блок:

//Funcion Enemigos         private void enemyHit()         {             if (Misil.Bounds.IntersectsWith(PicEne1.Bounds))             {                 score += 1;                 PicEne1.Top = -500;                 int ranP = rnd.Next(1, 300);                 PicEne1.Left = ranP;                 shooting = false;                 bulletSpeed = 0;             }             else if (Misil.Bounds.IntersectsWith(PicEne2.Bounds))             {                 score += 1;                 PicEne2.Top = -900;                 int ranP = rnd.Next(1, 400);                 PicEne2.Left = ranP;                 shooting = false;                 bulletSpeed = 0;             }             else if (Misil.Bounds.IntersectsWith(PicEne3.Bounds))             {                 score += 1;                 PicEne3.Top = -1300;                 int ranP = rnd.Next(1, 500);                 PicEne3.Left = ranP;                 shooting = false;                 bulletSpeed = 0;             }             else if (Misil.Bounds.IntersectsWith(PicEne4.Bounds))             {                 score += 1;                 PicEne3.Top = -1300;                 int ranP = rnd.Next(1, 500);                 PicEne4.Left = ranP;                 shooting = false;                 bulletSpeed = 0;             }             else if (Misil.Bounds.IntersectsWith(PicEne5.Bounds))             {                 score += 1;                 PicEne5.Top = -1300;                 int ranP = rnd.Next(1, 500);                 PicEne5.Left = ranP;                 shooting = false;                 bulletSpeed = 0;             }         }


Спасибо за вас заранее.

DS

Категории

Добро пожаловать на сайт DraftingCode Q&A (ИТ ответы), где вы можете задавать вопросы и получать ответы от других членов сообщества.

Связанных вопросов не найдено

...