JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Kapitel 17 DirectDraw

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
t10ottoo
Senior JLI'ler


Alter: 40
Anmeldedatum: 15.04.2004
Beiträge: 210
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 05.06.2004, 21:34    Titel: Kapitel 17 DirectDraw Antworten mit Zitat

Hi,

habe bei dem Thema irgendwie Probleme.
Er soll ja jetzt laut Buch ein Rechteck von der Quelloberfläche auf die Zieloberfläche kopieren, hier ist erstmal der Code:

Code:

LPDIRECTDRAWSURFACE7 lpDDPrimary;
   LPDIRECTDRAWSURFACE7 lpDDSurface;

   // primäre Oberfläche und lpDDSurface müssen gültig sein
   RECT DestR, SrcR;

   DestR.top = 100;
   DestR.bottom = 400;
   DestR.left = 100;
   DestR.right = 400;

   SrcR.top = 100;
   SrcR.bottom = 200;
   SrcR.left = 100;
   SrcR.right = 200;

   lpDDSPrimary->Blt(&DestR,&SrcR,lpDDSurface,DDBLT_WAIT,NULL);


Fehler:


E:\Geheime Dateien\VisualBasic-Dateien\C++\C++KURS\Spieleprogrammierung mit DirectX und VisualC++\Meins\Kapitel17\DirectDraw1\DirectDraw.cpp(169) : error C2664: 'Blt' : Konvertierung des Parameters 2 von 'struct tagRECT *' in 'struct IDirectDrawSurf
ace7 *' nicht moeglich
Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
Fehler beim Ausführen von cl.exe.


Der Fehler kommt in der Zeile vor:
Code:

lpDDSPrimary->Blt(&DestR,&SrcR,lpDDSurface,DDBLT_WAIT,NULL);


Ich hoffe, ihr könnt mir dort weiterhelfen, ohne diesem ganzen Code da oben, erstellt er ein Fenster fehlerfrei.

Gruß
Thomas
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 05.06.2004, 21:49    Titel: Antworten mit Zitat

Die Parameter beim Funktionsaufruf stimmen nicht. Du gibts ein Zeiger auf ein Rechteck anstatt eine DirectDraw Oberfläche als 2 Parameter.
Schau noch mal ins Buch auf die Parameterreinfolge.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
t10ottoo
Senior JLI'ler


Alter: 40
Anmeldedatum: 15.04.2004
Beiträge: 210
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 05.06.2004, 22:06    Titel: Antworten mit Zitat

Danke für die Antwort, aber im Buch steht das genau so drinne.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 05.06.2004, 22:09    Titel: Antworten mit Zitat

Vertausche doch einfach mal die beiden Parameter SrcR und lpDDSurface.

C.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
t10ottoo
Senior JLI'ler


Alter: 40
Anmeldedatum: 15.04.2004
Beiträge: 210
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 05.06.2004, 22:11    Titel: Antworten mit Zitat

Code:

   LPDIRECTDRAWSURFACE7 lpDDPrimary;
   LPDIRECTDRAWSURFACE7 lpDDSurface;

   // primäre Oberfläche und lpDDSurface müssen gültig sein
   RECT DestR, SrcR;

   DestR.top = 100;
   DestR.bottom = 400;
   DestR.left = 100;
   DestR.right = 400;

   SrcR.top = 100;
   SrcR.bottom = 200;
   SrcR.left = 100;
   SrcR.right = 200;

   lpDDSPrimary->Blt(&DestR,lpDDSurface,&SrcR,DDBLT_WAIT,NULL);


Ahh, so geht das nun, danke Smile

Aber nen Unterschied zu vorher seh ich net, ist immer noch nen schwarzes Fenster...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
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

Impressum