0

听起来可能有点奇怪,但我无法正确使用 SDL_Draw.h 的 Draw_Pixel() 和 Draw_Line() 函数,我用谷歌搜索过,人们说:使用起来非常简单,但不幸的是……不适合我。我写了一段非常简单的代码,但它没有显示像素,我也尝试了一条线,但也没有。

简单的代码是:

#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 中查看带有断点的结果。

谁能告诉我我错在哪里?

4

1 回答 1

1

您必须通过调用SDL_Flip(SDL_Surface * screen)来更新您的表面;

并在退出程序之前添加延迟,否则您将看不到窗口。

于 2013-10-17T09:32:33.993 回答