JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=4f4551831bc15ae4d47c6c4ec9c6b01eMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Problem mit Laden von Surfaces zum Scrollen

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
mono
Mini JLI'ler



Anmeldedatum: 11.03.2008
Beiträge: 3

Medaillen: Keine

BeitragVerfasst am: 12.03.2008, 08:52    Titel: Problem mit Laden von Surfaces zum Scrollen Antworten mit Zitat

Ich habe das Scroll-Bsp von Kapitel 20, so abgeändert, dass es nun vertikal scrollt. Nun wollte ich verschiedene Dateien für verschiedene Levels laden. Die zu ladenden Dateien mittels switch (m_Level) laden. Eigentlich wollte ich ohne switch, sondern mit sprintf() doch da hat es schon nicht geklappt.

Hier der entscheidende Code:

Code:
switch (m_Level)
     case 1:
         D3DXLoadSurfaceFromFile(m_lpSurface,0,0, "Level1.jpg",0,D3DX_SCRATCH, 0, NULL);

         D3DXLoadSurfaceFromFile(m_lpBuffer,0,0, "Level1.1.jpg",0,D3DX_DEFAULT, 0, NULL);

break;

m_lpD3DDevice->GetBAckBuffer(0,0,D3DBACKBUFFER_TYPEMONO, &m_lpBackBuffer);


Nun mein Problem ist, wenn ich switch weglasse funktioniert alles wunderbar. Wenn ich nun nach m_Levels switche dann werden die Sprites mit Graphikfehlern angezeigt, wenn ich nun den Zeiger auf den BackBuffer innerhalb der des case-Block hole, dann wierden die Sprites gar nicht angezeigt.

Für mich ergibt das alles keinen Sinn, da nur eine kleine Abfrage stattfindet, die gar nicht direkt mit dem Laden der Sprites zu tun hat. Das Gleiche passiert natürlich auch mit einer if-Verzweigung.
Wäre nett wenn mir das jemand erklären kann und viellicht helfen kann zu lösen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Chriss
Senior JLI'ler



Anmeldedatum: 18.08.2004
Beiträge: 267

Medaillen: Keine

BeitragVerfasst am: 12.03.2008, 14:06    Titel: Antworten mit Zitat

schonmal mit dem Debugger geprüftob die Variable 'm_Level' wirklich den Wert '1' beinhaltet? Wenn nicht wird dein Surface nicht geladen und dein Zeiger zeigt sonst wo hin in den Speicher.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jonathan_Klein
Living Legend


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

BeitragVerfasst am: 12.03.2008, 14:38    Titel: Antworten mit Zitat

Hat man nicht normalerweise um ein Switch Klammern?
CPP:
switch (blub)
{
 case 1:
  blub;
  break;
}

_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
mono
Mini JLI'ler



Anmeldedatum: 11.03.2008
Beiträge: 3

Medaillen: Keine

BeitragVerfasst am: 13.03.2008, 09:46    Titel: Antworten mit Zitat

ja hat mann, aber die syntax ist nicht das Problem. Der Grafikfehler der nur durch die Switch-Abfrage (oder if-Abfrage) hervorgerufen wird, beschäftigt mich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Chriss
Senior JLI'ler



Anmeldedatum: 18.08.2004
Beiträge: 267

Medaillen: Keine

BeitragVerfasst am: 13.03.2008, 14:45    Titel: Antworten mit Zitat

hast du jetzt inzwischen geprüft ob dein Programm wirkloch in diesen Block reinspringt?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
mono
Mini JLI'ler



Anmeldedatum: 11.03.2008
Beiträge: 3

Medaillen: Keine

BeitragVerfasst am: 17.03.2008, 11:47    Titel: Antworten mit Zitat

Sorry Chriss, hab deinen 1. Beitrag erst jetzt gesehen. Und natürlich hast du Recht, er ist gar nicht in den Switch-Block gesprungen. Hab vergessen m_Level auf 1 zu setzen. Tut mir leid eure Zeit für eine Lapalie in Anspruch genommen zu haben, aber danke!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik 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