Как заставить пистолет стрелять несколькими пулями, как пулемет, если вы нажмете клавишу?
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApp17 { public partial class Form1 : Form { public Form1() { InitializeComponent(); CenterToScreen(); Bullet.Visible = false; } ; Boolean Up, Lef, Righ, Down; private void Form1_KeyDown(object sender, KeyEventArgs e) if (e.KeyCode == Keys.Z) { Bullet.Location = new Point(Gun.Location.X + 7,Gun.Location.Y - 20); Bullet.Visible = true; } if (e.KeyCode == Keys.Right) { Righ = true; Gun.Left = Gun.Left + 8; } if (e.KeyCode == Keys.Up) { Up = true; Gun.Top = Gun.Top + -8; } if (e.KeyCode == Keys.Down) { Down = true; Gun.Top =Gun.Top + 8; } if (e.KeyCode == Keys.Left) { Lef = true; Gun.Left = Gun.Left + -8; } } private void timer1_Tick(object sender, EventArgs e) { Bullet.Top -= 20; }
ну ... это мой код, и я хочу, чтобы этот "пистолет" стрелял несколькими пулями, когда вы нажимаете клавишу.
Что я уже пробовал:
Я пробовал некоторые сценарии ... но они стреляют только по одной пуле за раз, когда вы нажимаете и удерживаете клавишу. Я хочу, чтобы мой "пистолет" стрелял много пуль, как полностью автоматическая винтовка, когда вы нажимаете клавишу и держите ее.
F-ES Sitecore
Вам понадобится возможность иметь несколько пуль, и каждые "x" миллисекунд удержания ключа огня вы создаете новую пулю, которая имеет свое собственное положение. Вы можете держать экземпляры пули в списке, и каждый щелчок таймера проходит через список пуль и перемещает их\обнаруживает попадания и т. д.
THEmaker2
Ничего, если я попрошу вас дать мне пример кода?
THEmaker2
Спасибо за пример кода! Это работает, когда пуля представляет собой метку. Однако он делает ошибку, если я изменяю его на picturebox. Кроме того, всякий раз, когда я изменяю интервал timerControl или timerBullet interval...it останавливает проект и делает ошибку