簡體   English   中英

C ++ - SDL無法正常工作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM