|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
=]Mid[=]Night[= Super JLI'ler
Anmeldedatum: 20.11.2002 Beiträge: 380 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 18.07.2003, 13:53 Titel: Alt + Tab |
|
|
Hi Leutz
Kann mir jemand erklärn, wie ich es schaffe, dass mein Direct3D - Spiel normal weiterläuft, wenn ich mit Alt + Tab oder Strg + Esc oder sowas in ein anderes Programm wechsle und dann wieder zurück??
Am besten eine Lösung für C++ und eine für VB |
|
Nach oben |
|
|
nigs Super JLI'ler
Anmeldedatum: 19.12.2002 Beiträge: 359
Medaillen: Keine
|
Verfasst am: 18.07.2003, 17:19 Titel: |
|
|
ich glaub das wurde schonmal behandelt, wenn ich mich nicht irre.
soviel ich weis must du wenn wieder reingetabbt eine neue primäre oberfläche erstellen. und dann noch so ein paar dinge. du kannst ja suchen . |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 19.07.2003, 13:07 Titel: |
|
|
Am besten ist es, wenn man folgendermaßen vorgeht:
man legt eine boolische Variable "DeviceIsLost" an und testet sie auf Wahrheit, wenn man die Renderfunktion betritt. Ist sie wahr, lässt man das Programm ca. 100 Millisekunden schlafen (entlastet den Prozessor) und testet danach, ob das Hauptfenster der Anwendung wieder den Focus hat. Ist dies der Fall Resetet man alle Oberflächen, die man angelegt hat. Eventuell muß man einige der Oberflächen auch komlett neu laden - also das Freigeben der alten Oberflächen nicht vergessen. Die boolische Variable setzt man danach auf falsch.
Ist sie falsch, führt man die Renderfunktionen aus und testet den Rückgabewert von Present auf einen Fehlerwert. Ist dieser aufgetreten überprüft man denselbigen auf D3DErr_DeviceLost (oder so ähnlich) und setzt die boolische Variable auf wahr.
Das einführen dieser Variable hat den entscheidenden Vortzeil, das auch andere Funktionen deren Wert überprüfen können und sich so Berechnungen sparen können, wenn das Fenster gar nicht angezeigt wird.
HTH AFE-GmdG _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
|
nigs Super JLI'ler
Anmeldedatum: 19.12.2002 Beiträge: 359
Medaillen: Keine
|
Verfasst am: 19.07.2003, 13:21 Titel: |
|
|
is Present 'ne funktion??? |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 19.07.2003, 13:27 Titel: |
|
|
Schon mal was von Direct-X gehört??? _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
|
nigs Super JLI'ler
Anmeldedatum: 19.12.2002 Beiträge: 359
Medaillen: Keine
|
Verfasst am: 19.07.2003, 13:38 Titel: |
|
|
das schon, aber von present.... |
|
Nach oben |
|
|
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 19.07.2003, 13:41 Titel: |
|
|
Wie wär's etwas einfacher, wie ich es gemacht habe:
Iniate()
{
Objekte anlegen etc....
}
Render()
{
// Testen ob man Zeichenkontrolle hat...
if(DD_2D_Graphics.IsLost()==false)
Initiate();
....
}
Ok ich verwende nich restore, aber ich find das so einfacher und solange dauert es auch nciht, bis alle Grafiken wieder geladen sind. _________________ The source of all power is in its destiny... |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|