Hallo Leute,
ich habe ein kleines Problemchen. Ich bin gerade dabei mein kleines 2D Spielchen zu programmieren. Auf das Problem stoße ich beim Laden der Map/Karte. Ich möchte sie in 2 Teilen sozusagen laden. Der erste Teil ist der Hintergrund, den ich ohne Probleme laden kann, danach möchte ich Objekte (Truhen, Tühren etc.) laden. Dies habe ich so bewältigt, dass ich den Bildschirm in ein 10x10 Raster aufgeteilt habe sprich bei einer Auflösung von 800x600 ist ein Kästchen 60x80 Pixel groß. Soweit so gut. Ich belege nun einfach ein char Array von 100 mit Zahlen die für Objekte stehen (bisher: 0=Nichts, 1=Truhe, 2=Tür, 3=Schlüssel, 4=Geld, 5=Menübutton). Das ist auch alles gut so (verfeiner ich später vllt. noch ein wenig, aber vorerst reichts). Jetzt zu meinem eigentlichen Problem: Ich habe nun 2 Funktionen in einer Klasse, die eine tut im großen und ganzen, dass was ich beschrieben habe und die andere überprüft ganz simple die jeweilige Zahl im Map-Array und übergibt den Namen des zu ladenden Objektes in einem string den ich zum Laden konvertiere. Und nun hab ich das Problem, dass das jeweilige Bild nicht geladen wird! Laden, zeichnen etc. passiert mit Allegro. Hier der Code, vielleicht seht ihr was ich falsch gemacht habe...
Funktion zum übergeben des Namen:
Hier der Problembereich( map_count ist einfach das jeweilige Kästchen vom Raster bzw. die Zahl des Kästchens):
P.S: Er gibt wie gewollt den Error Text aus.
Mfg
ich habe ein kleines Problemchen. Ich bin gerade dabei mein kleines 2D Spielchen zu programmieren. Auf das Problem stoße ich beim Laden der Map/Karte. Ich möchte sie in 2 Teilen sozusagen laden. Der erste Teil ist der Hintergrund, den ich ohne Probleme laden kann, danach möchte ich Objekte (Truhen, Tühren etc.) laden. Dies habe ich so bewältigt, dass ich den Bildschirm in ein 10x10 Raster aufgeteilt habe sprich bei einer Auflösung von 800x600 ist ein Kästchen 60x80 Pixel groß. Soweit so gut. Ich belege nun einfach ein char Array von 100 mit Zahlen die für Objekte stehen (bisher: 0=Nichts, 1=Truhe, 2=Tür, 3=Schlüssel, 4=Geld, 5=Menübutton). Das ist auch alles gut so (verfeiner ich später vllt. noch ein wenig, aber vorerst reichts). Jetzt zu meinem eigentlichen Problem: Ich habe nun 2 Funktionen in einer Klasse, die eine tut im großen und ganzen, dass was ich beschrieben habe und die andere überprüft ganz simple die jeweilige Zahl im Map-Array und übergibt den Namen des zu ladenden Objektes in einem string den ich zum Laden konvertiere. Und nun hab ich das Problem, dass das jeweilige Bild nicht geladen wird! Laden, zeichnen etc. passiert mit Allegro. Hier der Code, vielleicht seht ihr was ich falsch gemacht habe...
Funktion zum übergeben des Namen:
PHP Code:
std::string MAP::check_object(char object,std::string object_name){ //überprüft die Objekt nummer und giebt den Namen des zu ladenen Objektes aus
switch(object){ // überprüfe nummer und gebe den richtigen Namen aus (falls 0=kein name)
case 0: //nichts
object_name="nothing";
break;
case 1: //truhe
object_name="objchest.bmp";
break;
case 2: //tür
object_name="objdoor.bmp";
break;
case 3: //schlüssel
object_name="objkey.bmp";
break;
case 4: //geld
object_name="objmoney.bmp";
break;
case 5: //menübutton
object_name="objmenu.bmp";
break;
default:
break;
} //switch
//gebe den namen zurück
return object_name;
} //function
PHP Code:
std::string object_name; //name des Objektes
for(int r=0;r<=100;r++){ //r=rundendurchlauf(map[100])
map_count=r; //stellung im Raster der map
check_object(map[map_count],object_name); //überprüfen welches Objekt
if(map[map_count]==0){break;} //falls kein Objekt vorhanden
else{
object=load_bitmap(object_name.c_str(),0); // lade bild des jeweiligen objectes
if(object==NULL){ //überprüfen ob das Object nicht geladen wurde
textprintf_ex(screen,font,400,300,makecol(255,255,255),0,"Error, can not load object!!!");
break;
}
Mfg