Problem mit ListOf(Point) und Paint-Event in picturebox

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Unwesen.

    Problem mit ListOf(Point) und Paint-Event in picturebox

    Hallo Leute,

    ich versuche mich gerade in einem kleinen Spiel und würde nun gerne, wenn man "E" drückt, dass an der aktuellen Position des Spielers ein Bullet erscheint, und wenn man wegfährt, das Bullet immer noch bleibt.

    Sogesehen, man soll mehrere Bullets "legen" können.

    Da habe ich mich nun so versucht:

    VB.NET-Quellcode

    1. Dim b1 As List(Of Point)


    ...
    Key-Event:

    VB.NET-Quellcode

    1. If e.KeyCode = Keys.E Then
    2. b1.Add(New Point(x, y))
    3. End If

    ...
    Paint-Event:

    VB.NET-Quellcode

    1. Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
    2. For Each item As Point In b1
    3. e.Graphics.DrawImage(Image.FromFile("images/bullet.gif"), New Point(item.X, item.Y))
    4. Next
    5. End Sub


    So, nun probiere ich das heiter aus und stelle fest: Es geht natürlich wieder nicht.

    So, nun muss ich euch wieder nerven (^^), diese Fehlermeldung erscheint (gehighlightet wird "b1.Add(x,y)"):

    An unhandled exception of type 'System.NullReferenceException' occurred in Stayrinth.exe

    Additional information: Object reference not set to an instance of an object.
    (Sorry, habe nur die Englische-IDE).

    Hat jemand eine Ahnung was ich falsch mache?

    Mfg
    Epic