Generowanie PictureBox po wciśnięciu przycisku

0

Witam, piszę sobie prostą grę a tam potrzebuje czegoś co będzie przeciwnikiem, który będzie się generował w odpowiedniej ilości na poziom. Do tego postanowiłem wykorzystać PictureBox (jeżeli macie lepsze propozycje to słucham ;) ) Dla testów stworzyłem generowanie na przycisk jednak mimo braku jakichkolwiek błędów program przy próbie wygenerowania (wciśnięcia przycisku) się crashuje...

 public partial class Form1 : Form
    {
        PictureBox[] Enemy;





private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Escape)
            {
                this.Close();
            }
            if (e.KeyCode == Keys.Space)
            {
                PictureBox Enemy = new PictureBox();
                this.Enemy[i].Location = new System.Drawing.Point(400, 300);
                this.Enemy[i].Size = new System.Drawing.Size(40, 40);
                this.Enemy[i].BackColor = Color.Green;
                
            }
        }

Czy ktoś mi powie co w tym kodzie jest nie tak?

Kolejna sprawa, zamierzam zrobić animację ruchu i do tego chcę użyć 4 czy tam 5 obrazków, na każdym nogi postaci inaczej ułożone i chcę je zmieniać przy pomocy timera czyli np co pół sekundy wchodzi nowy obrazek i wygląda to gdyby postać chodziła. Jest jakiś inny prostszy sposób na taką animację czy ten jest wystarczająco dobry?

1

Tworzysz nową zmienną PictureBox Enemy która zaraz wypada z zasięgu i zabiera ją garbage collector.
Ponadto grzebiesz w tablicy która jest zapewne pusta.

0

No dobrze wszystko fajnie tylko jak to ma wyglądać, żeby było dobrze?

0

Masz w kodzie:

PictureBox[] Enemy;
...
PictureBox Enemy = new PictureBox();

Jedno Enemy z drugim Enemy nie ma nic wspólnego (poza nazwą). Musisz dodać obiekt do tablicy, na odpowiednim miejscu. Swoją drogą, zamiast tablicy użyj listy, będzie wygodniej zarządzać - teraz nawet nie wiadomo skąd bierzesz [i].
Ogólnie jeśli chcesz pisać gry polecam MonoGame (XNA), jednak na razie zalecałbym Ci poznanie podstaw języka - poczytaj o strukturach danych, zasięgu zmiennych, cyklu życia obiektów. Bez tego ciężko będzie napisać nawet prostą grę.

0

A masz może jakieś linki do poradników opisujących te zagadnienia?

1 użytkowników online, w tym zalogowanych: 0, gości: 1