Ich möchte löschen können eine Kugel, nachdem sie eine Wandkomponente berührt hat:
Code: Select all
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
}
}
}
}
Zuweisung zu „Bullet“ nicht möglich, da es für jede Variableniteration ein Wert ist
was meiner Meinung nach daran liegt, dass foreach eine schreibgeschützte Methode ist.
Ich habe mich gefragt, ob das so ist eine Methode, die ich übersehen habe, oder ob ich aufhören muss, die Methode foreach zu verwenden (I Ich weiß, ich hätte es durch die Verwendung von Tags einfacher machen können. Oder ob ich innerhalb meiner eigentlichen Bullet-Klasse etwas ändern muss:
Code: Select all
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;
}
}