|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Chris25 Mini JLI'ler
Anmeldedatum: 07.05.2003 Beiträge: 6
Medaillen: Keine
|
Verfasst am: 16.05.2003, 10:12 Titel: Bildschirm nach alt-tab leer? |
|
|
Hi,
mein Bildschirm bleibt neuerdings leer(schwarz) wenn ich vom Desktop ins Programm zurückkehre.
Ich hab fullscreen-mode und 2 Bitmaps integriert, woran könnte das liegen? liegts vielleicht am rendering? hab ausserdem DDCLASS und SPRITECLASS integriert...
Code: |
void Render(void)
{
DDObject.Clear(233);
lpddsback = DDObject.GetBuffer();
lpddsback->BltFast(0, 0, lpddsurface,NULL, DDBLTFAST_WAIT);
Fighter.Draw(lpddsback);
DDObject.Flip();
}
|
Dann noch eine Frage. Bei der SpriteKlasse gibts ja keine Methode, die die globale XY Position eines Sprites verändert und somit eine Überprüfung ob SCREEN_WIDTH UND SCREEN_HEIGHT in msg nicht möglich ist.
Gibts vielleicht eine elegantere Methode als das?
Code: |
void cSprite::move(int spriteMX, int spriteMY, int *globalX, int *globalY)
{
x += spriteMX;
y += spriteMY;
*globalX = x;
*globalY = y;
}
so funktionierts, aber gibts da nochwas anderes?
cu Chris |
|
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 16.05.2003, 11:27 Titel: |
|
|
Dass der Bildschirm schwarz ist, liegt wahrscheinlich daran, dass die DirectDraw-Objekte freigegeben werden müssen. Die primäre Oberfläche wird ja eigentlich(wie der Name schon sagt) als Haupt-/Primäroberfläche angelegt. Und wenn das Programm minnimiert wird, gibt es wohl komplikationen mit der prim.Oberfläche des Programms und der prim.Oberfläche des Betriebssystems.
Deine zweite Frage versteh ich nicht so ganz _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 16.05.2003, 13:26 Titel: |
|
|
Ja, du hast keine Rechte mehr zum Zeichnen..
mach's einfach wie ich
Code: |
// Testen ob man Zeichenkontrolle hat...
if(DD_2D_Graphics.IsLost()==false)
Initiate();
|
_________________ The source of all power is in its destiny... |
|
Nach oben |
|
|
abc_d JLI Master Trainee
Alter: 34 Anmeldedatum: 27.01.2003 Beiträge: 615
Medaillen: Keine
|
Verfasst am: 22.05.2003, 15:06 Titel: |
|
|
Ich mach's so:
Code: |
case WM_SETFOCUS:
//Beim wechsel zum Fenster (durch Counter wird 1. wechsel ausgenommen)
if(InitCounter>0)
{
SpielStatus=SP_NORMAL;
if(DDraw.Init(hWnd)==false)
{
PostQuitMessage(0);
}
}
InitCounter++;
return 0;
break;
case WM_KILLFOCUS:
SpielStatus=SP_PAUSE;
return 0;
break;
|
_________________ http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.
Never touch a running System - der Systemling |
|
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
|