next up previous contents
Nächste Seite: Hinweise zur Performance Aufwärts: RoboCup 99 / Mainz Vorherige Seite: Besonderheiten von Relmap   Inhalt

Anwendung

Um das Mapwindow benutzen zu können, muß einfach im Konstruktor des prototype der Parameter MapWindowMagnify auf einen double-Wert 7#3 gesetzt werden. Dieser Parameter wird als MAGNIFY bzw REL_MAGNIFY verwendet.

Wird ein Wert 8#4 als Parameter übergeben, erscheint keine graphische Ausgabe.

Nun muß nur während des Spiels ein Update des Mapwindow durchgeführt werden, was mit dem mapwindow-Objekt des Prototypes ganz einfach ist. Mit der Methode void Map(Snapshot *snap, int max_age) werden sämtliche Objekte im Snapshot snap angezeigt, deren Alter höchstens max_age ist; der Ball wird immer angezeigt, egal wie ``alt'' er schon ist.

Im Normalfall läßt sich eine ununterbrochene Anzeige mit

      if (mapwindow)
        mapwindow->Map(world->getSnapshot(getServerTime()+2),4);

in jedem Simulationsschritt erreichen. Dabei ist sichergestellt, daß der Aktualtisierungsaufruf nur dann erfolgt, wenn wirklich ein Mapwindow geöffnet wurde.



Debian User 2001-05-17