Удалить созданный объект в С#C#

Место общения программистов C#
Ответить
Anonymous
 Удалить созданный объект в С#

Сообщение Anonymous »

Я пытаюсь создать игру для проекта (я использую Visual Studio и приложение Windows Forms (.NET framework)).
Я хочу иметь возможность удалять пулю после того, как она коснулась стены компонент
private void bullet_Tick(object sender, EventArgs e)
{
foreach (Bullet bullet in BulletList)
{
foreach(var wall in wallList)
{
if (bullet.BulletPictureBox.Bounds.IntersectsWith(wall.Bounds))
{
// method to destroy the bullet object
}
}
}
}

Я пробовал такие методы, как Dispose, но кажется, что они только удаляют графический блок, делая пулю невидимой, но все же способной проходить сквозь стены. Я пробовал Bullet = null;, но получаю сообщение невозможно присвоить маркеру, потому что это для каждой итерации переменной. Я знаю, что это связано с тем, что foreach является методом только для чтения.
Мне интересно, есть ли какой-то метод, который я пропустил, или мне нужно прекратить использовать метод foreach (я знаю, что можно было бы упростить задачу, используя теги). или мне нужно что-то изменить в моем классе маркера
public class Bullet
{
public PictureBox BulletPictureBox { get; private set; }

string DREC;

public Bullet(Form form, int x, int y, List BulletList, string direction)
{
BulletPictureBox = new PictureBox
{
Size = new Size(10, 10),
BackColor = Color.Red,
Location = new Point(x, y)
};

DREC = direction;

form.Controls.Add(BulletPictureBox);
BulletList.Add(this);
}

public string GetDirection()
{
return DREC;
}
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... in-c-sharp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»