Hallöchen
ich habe erst vor Kurzem mit SDL2 angefangen und hab damit noch so meine Schwierigkeiten. Nachdem ich aber jetzt endlich geschafft habe, die Bibliothek auch auf meinem Rechner zu Hause zum Laufen zu bringen, wollte ich das Ganze natürlich sofort testen. Alles, was ich wollte war, ein selbsterstelltes png-Bild einfügen und für 5 Sekunden in einem Fenster anzeigen lassen. Danach soll sich das Programm von alleine wieder schließen. An dem Uni-Rechner hat das auch ganz gut funktioniert, also habe ich mir den Code dort zum Beispiel genommen und in ähnlicher Form in meinem Mini-Programm verwendet. Jetzt habe ich folgendes Problem:
Das vorher festgelegte Fenster öffnet sich unter dem Namen, den ich ihm gegeben habe und bleibt für fünf Sekunden offen. Soweit also ganz gut. Die Grafik, die ich sehen wollte, wird aus irgendeinem Grund aber nicht angezeigt. Stattdessen sehe ich einen weißen Hintergrund. Nach endlosem Probieren und Googlen bin ich immer noch ratlos. Ich weiß auch ehrlich gesagt gar nicht, ob das mit dem Code als solches zusammenhängt oder ob ich schlichtweg zu blöd bin die Grafik an die richtige Stelle zu kopieren. Ich habe aber schon so ziemlich jeden Ordner ausprobiert und bisher hat noch nichts geholfen. Eigentlich gehört die Grafik, die ich laden will doch in das Verzeichnis, in dem sich auch die kompilierte .exe befindet, oder nicht?
Hier der Quelltext:
|
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
|
#include <iostream>
#include <string>
#include <stdlib.h>
#include <stdio.h>
#include <SDL.h>
#include <SDL_image.h>
int main(int argc, char* args[])
{
SDL_Init(SDL_INIT_EVERYTHING);
SDL_Init(SDL_INIT_VIDEO);
SDL_Window *win = SDL_CreateWindow("Test", 100, 100, 900, 600, SDL_WINDOW_SHOWN);
SDL_Surface *surf = SDL_GetWindowSurface(win);
SDL_Init(IMG_INIT_PNG);
SDL_Surface *hintergrund = IMG_Load("test.png");
SDL_BlitSurface(hintergrund, NULL, surf, NULL);
SDL_Delay(5000);
return 0;
}
|
Ich benutze Visual Studio 2015, falls das wichtig ist.
Vielen Dank schonmal für die Hilfe und euch allen einen schönen Abend
Arriey