Hallo Profi's,
ich erstelle zur Laufzeit in einem Spiel Textobjekte, welche sich selbst in einer DrawRoutine perSpriteBatch zeichnen.
Soweit, so gut.
Die Objekte sollen sich, nach einer gewissen Zeit selber ausblenden und aus dem Speicher löschen.
In der Main:
hier erzeuge ich 2 Testobjekte
und hier sollen sie gelöscht werden:
Mein Problem ist: alles läuft ohne Fehler, die Liste leert sich, die Objekte werden disposed.
Aber - sie zeichnen sich trotzdem weiter.
Also wie ich das sehe, wird das Dispose nicht ausgeführt, bzw steckt kein Code dahinter?
Wie kann ich das prüfen/fixen?
ich erstelle zur Laufzeit in einem Spiel Textobjekte, welche sich selbst in einer DrawRoutine perSpriteBatch zeichnen.
Soweit, so gut.
Die Objekte sollen sich, nach einer gewissen Zeit selber ausblenden und aus dem Speicher löschen.
In der Main:
hier erzeuge ich 2 Testobjekte
VB.NET-Quellcode
- Private Sub HandleMousePressed(sender As Object, e As InputManager.MouseButtonEvent) Handles inputManager.MousePressed
- Dim btn As InputManager.MouseButton = e.Button
- Dim pos As Vector2 = e.Pos
- Dim t As TextObject
- ' Test
- t = New TextObject(_game, spriteBatch, inputManager, e.Pos, fontList("Arial 20"), "test1", True)
- TextObjectList.Add(t)
- _game.Components.Add(t)
- t = New TextObject(_game, spriteBatch, inputManager, e.Pos, fontList("Arial 12"), "test2", True)
- TextObjectList.Add(t)
- _game.Components.Add(t)
- End Sub
und hier sollen sie gelöscht werden:
Mein Problem ist: alles läuft ohne Fehler, die Liste leert sich, die Objekte werden disposed.
Aber - sie zeichnen sich trotzdem weiter.
Also wie ich das sehe, wird das Dispose nicht ausgeführt, bzw steckt kein Code dahinter?
Wie kann ich das prüfen/fixen?