[英]C++ - SDL not working
我試圖按照本教程關於使用SDL顯示圖像的基礎知識。 但是,當我運行程序時,它返回一個空白屏幕。 圖像位於正確的目錄中,但不會顯示在程序中。 難道我做錯了什么? 我真的很喜歡SDL。
這是我的代碼:
#include <SDL/SDL.h>
using namespace std;
int main(int argc, char *argv[])
{
SDL_Surface *hello;
SDL_Surface *screen;
SDL_Init(SDL_INIT_EVERYTHING);
screen = SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE);
hello = SDL_LoadBMP("hello.bmp");
SDL_BlitSurface(hello, NULL, screen, NULL);
SDL_Flip(screen);
SDL_Delay(2000);
SDL_FreeSurface(hello);
SDL_Quit();
return 0;
}
使用SDL_GetError()來找出SDL_LoadBMP()無法加載位圖的原因。
也讀這個帖子
而不是SDL_Flip(screen)
嘗試使用SDL_UpdateRect(screen,0,0,0,0)
我以為我說我幾個月前已經修好了,好像我沒有。 我再次重新編譯它,它很有效,非常奇怪。
在行中: "hello = SDL_LoadBMP("hello.bmp");"
,嘗試"/hello.bmp"
而不是"hello.bmp"
。 我有同樣的問題,但似乎在文件名之前放斜杠(“/”)有助於查找,因此,渲染圖像,即使它不在與程序相同的目錄中。
如果您使用的是Windows而不是"/hello.bmp"
,請寫入"c://hello.bmp"
。 第一個是Mac。 (:
編輯:忘記它,我只是意識到它實際上不起作用,它對我有用,因為我有我的磁盤目錄上的文件。
確保hello.bmp
位於當前目錄中,並且它是可讀且有效的BMP文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.