Problem bei der Anzeige des Spielfensters mit XNA

Beantwortet Problem bei der Anzeige des Spielfensters mit XNA

  • Dienstag, 6. März 2012 15:27
     
      Enthält Code

    Hallo zusammen,

    seit meiner letzten Änderung in meinem Code wird kein Fenster mehr angezeigt.

    Ich habe eine Klasse geschrieben, die eine Funktion namens "Update" enthält. Die wird später im eigentlichen Spiel von der Update-Funktion aufgerufen.

    Die Funktion sieht folgendermaßen aus:

            public void Update(float elapsed)
            {
    
                Position += Richtungvek * elapsed;
    
    
                for (int x = 0; x < Map.Mapgröße.X; x++)
                {
                    for (int y = 0; x < Map.Mapgröße.Y; y++)
                    {
                        if (new Rectangle((int)Position.X, (int)Position.Y, Größe, Größe).Intersects(new Rectangle(Map.Tilegröße * x, Map.Tilegröße * y, Map.Tilegröße, Map.Tilegröße)))
                        {
                            Aktiv = false;
                        }
                    }
                }
    
    
            }

    Die beiden For-Schleifen sind für die Kollisionsprüfung zuständig, indem sie überprüfen, ob das Objekt mit einer Wand in Berührung kommt.

    Das Spielfenster wird nicht mehr angezeigt, seit ich diese Schleifen im Code habe. Wenn ich eine davon entferne, wird es wieder angezeigt!

    Hat jemand eine Idee was ich dagegen tun kann?

    Vielen Dank schon mal im Voraus!

    LG, hatschi12

    PS: Zur Information: Map.Mapgröße ist ein Vector2, der die Mapgröße bestimmt. Position ist ein Vector2, der die Position des Objekts bestimmt. Größe bestimmt die Größe des Objekts und Map.Tilegröße bestimmt die Größe der Tiles, die den Hintergrund bilden.

    Aktiv bestimmt, ob das Objekt aktiv ist, das heißt, wenn Aktiv auf false steht, wird das Objekt von der allgemeinen Update-Methode entfernt!

    An dieser Zeile liegt es aber vermutlich nicht, da das Spielfenster auch dann angezeigt wird, wenn ich eine der Schleifen entferne und das "Aktiv = false" stehen lasse.


    • Bearbeitet hatschi12 Dienstag, 6. März 2012 15:33
    •  

Alle Antworten