Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

19.07.2013, 21:29

BMPs laden in Visual Studio 2012

Hey ihr Spieleprogrammierer,

ich wollte grad ein kleines Sprite in SDL laden und das ganze wollte nicht so wie ich wollte. Ich hab dann überprüft ob er das Bild überhaupt läd und hab festgestellt das er es anscheinend nicht findet. Ich habs schon in VS2012 zu den Resources hinzugefügt aber irgendwie bleibt der Erfolg aus.

Hier mal meine Source:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <SDL.h>
#ifdef _WIN32
#undef main
#endif

bool running = true;

void apply_surface(int x, int y, SDL_Surface* source, SDL_Surface* destination);

int main(int argc, char *argv[]){
    //Initialise
    SDL_Init(SDL_INIT_EVERYTHING);
    SDL_Surface *screen = NULL;
    SDL_Surface *background = NULL;
    SDL_WM_SetCaption("SDL Testing enviroment", NULL);

    //Load
    screen = SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE);
    if(!(background = SDL_LoadBMP("Ressourcendateien/bat.bmp")))
    {
        running = false;
    }


    while( running )
    {
        SDL_Event event;
        if(SDL_PollEvent(&event))
        {
            if(event.type == SDL_QUIT)
            {
                running = false;
            }
        }
        apply_surface( 10, 10, background, screen);

        // Update Screen
        SDL_Flip(screen);

    }

    SDL_Quit();
    return 0;
}

void apply_surface(int x, int y, SDL_Surface* source, SDL_Surface* destination) {
    SDL_Rect prect;
    prect.x = x;
    prect.y = y;

    SDL_BlitSurface(source, NULL, destination, &prect); 
}


Freu mich über jede Hilfe ;)
Mit freundlichen Grüßen,
Horius

patrick246

Treue Seele

Beiträge: 328

Wohnort: nahe Heilbronn/BW

Beruf: TG Profil Informatik-Schüler

  • Private Nachricht senden

2

20.07.2013, 00:26

Das Arbeitsverzeichnis ist, wenn das Programm aus VS gestartet wird, immer das Projektverzeichnis. Also im gleichen Ordner wie Debug und Release.
Wenn du da dein Bild reinlegst, sollte es gefunden werden.

3

22.07.2013, 14:11

Merkwürdigerweise leider nicht über den debugger, aber wenn ich das ganze direkt über die exe starte funktionierts. Danke ;)

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

4

22.07.2013, 14:25

Patrick hat es doch erklärt. Das Arbeitsverzeichnis ist mit dem Debugger ein anderes als ohne. Das kann man übrigens einstellen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige