Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » DirectX » Flippen flackert

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
30.04.2005, 09:55 Uhr
RedEagle



Hi
Ich hab in einem Tutorial gelesen, das man in der Nachrichtenschleife des Fenster Flippern muss:


C++:
   while(running)
   {
    while(lpDDSPrimary->Flip(NULL, DDFLIP_WAIT) != DD_OK); //(Läuft aber schei**)
    
    if(PeekMessage(&msg,NULL,0,0,PM_REMOVE))
    {
     if(msg.message == WM_QUIT) break;
     TranslateMessage(&msg);
     DispatchMessage(&msg);
    }
   }



Problem:
Das Bild Flackert und die Titelleiste ist Sichtbar, obwohl ich eigentlich den Bildschirm gelöscht habe (mit einem 800×600 großem schwarzes Rechteck)

Wenn ich vor der Schleife Flippe, wird der Bildschirm auch Komplett schwatz, aber die Bitmaps, die ich innerhalb der Schleife (z.B. durch Tastendruck) in den BackBuffer lade, werden dann nicht mehr angezeigt

Meine Frage:
Wie mache ich das mit dem Flippen richtig??

ps.: verwende DirectDraw 8
--
MFG RedEagle

Dieser Post wurde am 30.04.2005 um 09:57 Uhr von RedEagle editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.04.2005, 11:04 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Also, das Flippen ist nichts anderes als das Wechseln des Front mit dem Back-Buffer (alles was du zeichnest, landet im Back-Buffer) Erst duch das Flippen werden deine Daten angezeigt. Es gibt sicher ne Funktion um den Buffer zu löschen, ich würde das nicht umbedingt mit nem schwarzen rechteck machen. (bei Ogl gabs z.b glClear)
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
30.04.2005, 11:14 Uhr
RedEagle



Also immer dann Flippen, wenn ich den Inhalt im Backbuffer anzeigen möchte?:

Code:
Backbuffer <- Bild1
Backbuffer <- Bild2
Backbuffer <- Bild3
Anzeigen <- Backbuffer
Warten(10sekunden)
Backbuffer <- Bild4
Backbuffer <- Bild5
Backbuffer <- Bild6
Anzeigen <- Backbuffer




ps.:
Laut tutorial gibts keine andere Möglichkeit den Bildschirm zu löschen, werd aber mal nach ner Funktion suchern
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
30.04.2005, 12:43 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Ansonsten könnte es sein das du ein paar Fenstereinstellungen verhaut hast
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
30.04.2005, 12:54 Uhr
RedEagle



Funktioniert...


--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ DirectX ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: