Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature may not be available in some browsers.
Sto cercando di creare un ostacolo 2D con il form che però si deve frantumare quando incontra il proiettile. Come posso fare? Deve solo danneggiarsi l'ostacolo non rompersi a metà
Su Visual Studio con un Windows Form. Per la vita avevo capito, ma per la parte grafica non so come distruggere la parte colpita
private void movement()
{
if (_moveLeft)
ship.Left += -15;
if (_moveRight)
ship.Left += 15;
}
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.A)
{
_moveLeft = true;
_moveRight = false;
}
else if (e.KeyCode == Keys.D)
{
_moveLeft = false;
_moveRight = true;
}
}
private void Form1_KeyUp(object sender, KeyEventArgs e)
{
_moveLeft = false;
_moveRight = false;
}
for (int i = 0; i < Fuoco.Count; i++)
{
Fuoco[i].Top -= 10;
...
...
...
}
Ma tu devi fare sempre una list dinamica di picturebox che vengono richiamati quando necessari. Usa una listbox con concurrentdicyionaryMa il fuoco deve essere più di uno, ma comunque ci proverò, poi se si tiene premuto con gli eventi KeyDown c'è un blocco iniziale è per questo che ho cambiato il modo di muoversi
Devi fare la listbox oppure meglio ancora ma più difficile usa i concurrentdictionary con i picturebox ed i boolean. Metti un for che controlla tutti i valori ed inserisci che se tutti sono pieni me crea uno nuovo.Ho creato una List di Picturebox, ma devo sempre scorrere tutti gli per farli renderizzare, no?
No no, il dizionario lavora come una lista e puoi aggiungere togliere o modificare. Se non erro per avere il value devi usare trygetvalue.Sto cercando di scorrere il dictionary ma non posso indicizzarlo, come posso scorrerlo? In più le values non riesco a "prenderle", né riesco ad aggiungere. Devo fare un nuovo dizionario?
PictureBox[] values = new PictureBox[listaFuoco.Count];
int x = 0;
foreach (object fire in listaFuoco)
{
values[x] = (PictureBox)fire;
x++;
}