Flotte Spiele

Surfaces

Die Methode CreateSurface erzeugt beide Surfaces Über den Aufruf der Methode CreateSurface werden beide Surfaces in einem Rutsch erzeugt Zugriff auf den Backbuffer erhält man allerdings erst wenn man die Methode GetAttachedSurface aufruft die als Ergebnis den Backbuffer in Form eines weiteren DirectDrawSurface Objektes liefert Die Offscreen Surfaces in denen Animations und Hintergrundbilder verwaltet werden lassen sich dagegen auf die übliche Art und Weise also wie in einer Fensteranwendung erzeugen Dasselbe gilt für die ColorKeys mit denen transparente Blt Operationen realisiert werden Anschlie end erfolgt der Bildaufbau in aller Ruhe im Backbuffer Weil der Backbuffer nicht sichtbar ist kann der Bildaufbau problemlos vonstatten gehen Ist das Bild komplett erstellt vertauschen Primary Surface und Backbuffer durch einen Aufruf der Flip Methode ihre Rollen der Backbuffer wird angezeigt die Primary Surface vom Bildschirm entfernt Nach einem Aufruf von Flip referenziert das ehemalige Primary Surface Objekt den Backbuffer und umgekehrt so dass das Zeichnen im Hintergrund erneut durch Beschreiben des Backbuffers erfolgen kann Eine Vollbildanwendung führt damit stets alle Grafikausgaben über den Backbuffer durch und sobald dieser komplett erstellt ist wird zwischen Primary Surface und Backbuffer umgeschaltet primarySurface Flip _ backSurface DDFLIP_WAIT Solange die Vollbildanwendung sichtbar ist ist die DirectDraw Welt in Ordnung Allerdings kann der Anwender beispielsweise über die Tastenkombination [Alt Tab] eine andere Anwendung in den Vordergrund holen Dabei gibt die Vollbildanwendung ihre Kontrolle zeitweilig wieder an Windows ab was bei der Rückkehr zur DirectDraw Anwenung dazu führt dass die im Grafikspeicher gesicherten Surfaces ihren Inhalt verlieren Das bedeutet dass nach einem derart folgenschweren Ereignis alle Surfaces restauriert werden müssen Dabei wird zum einen der ehemals vom Surface allokierte Speicher erneut allokiert zum anderen müssen die Grafikdateien erneut geladen werden das ist der Grund warum die Rückkehr zu einem aufwendigen Spiel nach Betätigung der Tastenkombination [Alt Tab] auch auf ansonsten sehr schnellen Maschinen einige Sekunden in Anspruch nehmen kann Um zu erkennen dass eine Restauration der Surfaces angesagt ist muss vor dem Aufbau des Hintergrundbildes die Methode TestCooperatveLevel des DirectDraw Objektes aufgerufen werden Liefert diese Methode einen Rückgabewert verschieden von DD_OK so kann DirectDraw den ehemaligen Zustand der Surfaces nicht mehr garantieren und das Programm muss die Surfaces wiederherstellen Allerdings nur dann wenn der Aufruf von TestCooperatveLevel wieder anzeigt dass die DirectDraw Anwendung wieder im Vollbesitz ihrer Kräfte bzw des Bildschirms ist Falls TestCooperatveLevel also einen Wert ungleich DD_OK liefert ist es eine gute Programmierpraxis so lange zu warten bis diese Methode wieder den Wert DD_OK anzeigt In der Zwischenzeit sollte die Anwendung allerdings durch Aufrufe von DoEvents am Laufen gehalten werden Dim bRestorationNeeded _ As Boolean bRestorationNeeded False While dd TestCooperative Level lt \ lt gt lt \ gt gt DD_OK bRestorationNeeded True DoEvents Wend If offscreenSurface isLost Then Set offscreenSurface _ Nothing offscreenDesc lFlags _ DDSD_CAPS Grafik in Offscreen Surface laden offscreenDesc ddsCaps lCaps _ DDSCAPS_OFFSCREENPLAIN Set offscreenSurface _ dd CreateSurfaceFromFile _ App Path amp \cloud bmp _ offscreenDesc lFlags _ DDSD_CAPS Or DDSD_HEIGHT _ Or DDSD_WIDTH offscreenSurface _ GetSurfaceDesc offscreenDesc End If If bRestorationNeeded Then dd RestoreAllSurfaces End If

P
Computerwissen komplett aus einer Hand

Dies ist eine Nickles-Premium Seite

Der Inhalt dieser Seite ist nur Nickles Mitgliedern zugänglich. Bitte melden Sie sich mit Ihrem Premium-Account an, um diese Seite lesen zu können.

Sollten Sie bisher noch nicht über einen Account verfügen, so können Sie sich hier einen erstellen und erhalten damit Zugriff auf das gesammelte Computerwissen, alle Artikel, Tipps und vieles mehr. Zusätzlich sehen Premium-Mitglieder Nickles werbefrei.

  • Probleme mit Hard und Software müssen nicht mehr sein
  • Nickles liefert seit über 15 Jahren geballtes Wissen
  • Unverzichtbare Artikel, verständlich für alle
  • Wertvolle Tipps die bares Geld sparen
  • Schluss mit Suchen - alles hier aus einer Hand
  • Zuverlässige Profi-Informationen statt Blabla
  • Hier gibt es Zugriff auf über 2 Millionen Webseiten geballtes Computerwissen zum Schnäppchenpreis
Computerwissen komplett aus einer Hand (Angebot 1)

UNABHÄNGIG, EHRLICH, VERSTÄNDLICH

Drei Worte. Die schreiben wir nicht nur, das meinen wir auch so! Nickles-Artikel liefern konkrete unbestechliche Informationen. Egal ob für PC-Laie oder PC-Profi: auf Nickles-Infos ist Verlass! Bereits ein einziger Nickles-Artikel kann helfen, viel Zeit und Geld zu sparen!

  • Probleme mit Hard und Software müssen nicht mehr sein
  • Nickles liefert seit über 15 Jahren geballtes Wissen
  • Unverzichtbare Artikel, verständlich für alle
  • Schluss mit Suchen - alles hier aus einer Hand
  • Zuverlässige Profi-Informationen statt Blabla
  • Hier gibt es Zugriff auf über 2 Millionen Webseiten geballtes Computerwissen zum Schnäppchenpreis

Allgemeine Geschäftsbedingungen

Wir hassen lange AGB mit fiesem Kleingedrucktem. Drum sind unsere kurz und einfach - bitte sorgfältig durchlesen:
AGB - Allgemeine Geschäftsbedingungen

Bestellformular ausfüllen

Die Abrechnung der 59,95 Euro für 12 Monate erfolgt einfach per Rechnung auf dem Postweg. Dazu benötigen wir die Anschrift. Bitte alle Felder ausfüllen!

Mit * markierte Felder werden für die Bearbeitung der Bestellung benötigt und müssen ausgefüllt werden.
Hinweis: Nickles.de gibt Daten niemals weiter! Sie dienen nur für unsere interne Abwicklung der Mitgliedschaft.

Gesamtpreis: 59,95 Euro für 12 Monate
(inklusive 7 Prozent MwSt, 3,92 Euro auf 56,03 Euro)
Vereinbarungen: Widerrufsrecht: Diese Bestellung kann gemäß AGB innerhalb von zwei Wochen widerrufen werden.

Mindestlaufzeit: 12 Monate

Verlängerung: Wird nicht spätestens drei Monate vor Ablauf der Abrechnungsperiode gekündigt, verlängert sich die Premiummitgliedschaft um 12 Monate zum Preis von 59,95 Euro.
Abrechnungsperiode dann alle 12 Monate.