2013-10-17 21 views
0

這可能聽起來有點奇怪,但我無法正確使用SDL_Draw.h的Draw_Pixel()和Draw_Line()函數我已經使用Google和人員狀態:使用非常簡單,但不幸的是...不適合我。 我已經寫了一段非常簡單的代碼,但它不會顯示像素,我也嘗試了一條線,但沒有。通過SDL_Draw庫的Draw_Pixel()繪製像素時遇到問題

簡單的代碼是:

#include <SDL.h> 
#include "SDL_draw.h"  
    int main(int argc, char** argv) 
    { 
     SDL_Surface* surf; 
     if(SDL_Init(SDL_INIT_EVERYTHING) < 0) { 
      return -1; 
     } 

     if((surf = SDL_SetVideoMode(WIDTH, HEIGTH, BBP, FLAGS)) == NULL) { 
      return -1; 
     } 
    Uint32 myColor = SDL_MapRGB(surf->format, 255, 25, 23); //this is the red color 
     Draw_Pixel(surf, 45, 45, myColor); 
     Draw_Line(surf, 45, 20, 90, 100, myColor); 

     SDL_Quit(); 

     return 1; 
    } 

的x,y座標都只是隨機的。我試圖在Visual Studio中看到帶有斷點的結果。

誰能告訴我我錯在哪?

回答

1

您必須通過致電SDL_Flip(SDL_Surface * screen)來更新表面;

並退出程序之前添加一個延遲,否則你不會看到窗口。

+0

我的印象是,簡單的東西缺失了,但作爲初學者,我不知道是什麼。非常非常感謝你!它現在有效! – KKyK

相關問題