hello SDL

本文介绍了一个使用SDL库创建无边框窗口并随机填充彩色矩形的C程序示例。该程序通过SDL_Init初始化视频子系统,并使用SDL_CreateWindow创建一个位于屏幕中央的无边框窗口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include “sdl.h”
#include <stdlib.h>

SDL_Window* sdlwindow=NULL;
const int SCREEN_WIDTH=640;
const int SCREEN_HEIGHT=480;
SDL_Surface* g_pDisplaySurface = NULL;
SDL_Event g_Event;
SDL_Rect g_Rect;
Uint8 g_Red, g_Green, g_Blue;
Uint32 g_Color;

int main(int argc, char* argv[])
{
    SDL_Init(SDL_INIT_VIDEO);
    atexit(SDL_Quit);
    sdlwindow=SDL_CreateWindow("title",
        SDL_WINDOWPOS_CENTERED,
        SDL_WINDOWPOS_CENTERED,
        SCREEN_WIDTH,
        SCREEN_HEIGHT,
        SDL_WINDOW_SHOWN|SDL_WINDOW_BORDERLESS//无边框
    );

    g_pDisplaySurface = SDL_GetWindowSurface(sdlwindow);
    
    for(;;)
    {
        if(SDL_PollEvent(&g_Event)==0)
        {
            g_Red=rand()%256;
            g_Green=rand()%256;
            g_Blue=rand()%256;
            g_Color=SDL_MapRGB(g_pDisplaySurface-
            >format,g_Red,g_Green,g_Blue);
            g_Rect.x=rand()%SCREEN_WIDTH;
            g_Rect.y=rand()%SCREEN_HEIGHT;
            g_Rect.w=rand()%(SCREEN_WIDTH-g_Rect.x);
            g_Rect.h=rand()%(SCREEN_HEIGHT-g_Rect.y);
            SDL_FillRect(g_pDisplaySurface,&g_Rect,g_Color);
            SDL_UpdateRect(g_pDisplaySurface,0,0,0,0);
        }
        else
        {
            if(g_Event.type==SDL_QUIT) break;
        }
    }
    return(0);
}

 

转载于:https://www.cnblogs.com/Searchor/p/6756162.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值