首页 > 其他分享 >SDL安装和使用

SDL安装和使用

时间:2022-11-20 20:34:48浏览次数:38  
标签:return SCREEN surface window 使用 SDL NULL 安装

  • yum install SDL
  • 安装的是SDL2
  • include的文件也是SDL2
  • yum install xclock
#include </usr/include/SDL2/SDL.h>
#include <stdio.h>

const int SCREEN_WIDTH = 640;
const int SCREEN_HEIGHT = 480;

int main(void)
{
	SDL_Window *window = NULL;
    SDL_Surface *surface = NULL;

    if (SDL_Init(SDL_INIT_VIDEO) < 0) {
        printf("SDL无法初始化 %s",SDL_GetError());
        return -1;
    }

    window = SDL_CreateWindow("SDL Demo",
        SDL_WINDOWPOS_UNDEFINED,SDL_WINDOWPOS_UNDEFINED,//这两个是窗口的位置 x y(不在乎)
        SCREEN_WIDTH,SCREEN_HEIGHT,//窗口的宽度和高度
        SDL_WINDOW_SHOWN //确保在创建窗口时显示该窗口
    );

    if (window == NULL) {
        printf("创建window失败");
        return -1;
    }

    //接下来是获取窗口的屏幕 这样才能绘制
    surface = SDL_GetWindowSurface(window);

    if (surface == NULL) {
        printf("获取屏幕失败");
        return -1;
    }

    //填充为红色
    SDL_FillRect(surface, NULL, SDL_MapRGB(surface->format, 0xff, 0x00, 0x00));

    //更新窗口操作
    SDL_UpdateWindowSurface(window);

    //等待2秒
    SDL_Delay(5 * 1000);

    //销毁资源退出
    SDL_DestroyWindow(window);

    return 0;
}


标签:return,SCREEN,surface,window,使用,SDL,NULL,安装
From: https://www.cnblogs.com/starcos/p/16909432.html

相关文章

  • ORA-00997: 非法使用 LONG 数据类型
    今天在创建表的时候直接用的createtableXXXasselect*fromAAA;结果出了一个:ORA-00997:非法使用LONG数据类型 的错误。后来查了一下,做下笔记:1、select查询语句中用......
  • 在新建FileInputStream时使用当前相对路径或者绝对路径作为参数的问题
    当new一个FileInputStream时,想使用相对路径这样无论我的服务端部署到哪里,都可以一直用一个文件夹而不必修改程序的路径代码,当然首先我用的绝对路径来做实验,......
  • Ubuntu 安装open8jdk
    环境Ubuntu18.04安装配置更新软件sudoapt-getupdate安装openjdk-8-jdksudoapt-getinstallopenjdk-8-jdk3.查看添加JAVA_HOME查看位置whichjav......
  • vs2022 使用 cmake
    vs版本:vs2022vs中默认不使用cmake,在项目->cmake工作区设置中修改{"enableCMake":flase}默认为false,修改为true即可。点击CMakeLists.txt文件设置启动项,......
  • 在嵌入式软件中使用断言的一点想法
    嵌入式软件中的断言应该分成三个级别,而不是仅有启用和关闭两种。1、启用断言并打印可读信息;2、启用断言并打印代码地址、3、关闭断言。mingdu.zhengatgmaildotcom矛盾断......
  • 使用GDB检测内存泄漏
    使用GDB在malloc和free函数设置断点,并打印分配和释放时的内存地址以及调用栈,然后通过脚本分析分配和释放是否配对来检测是否存在内存泄露以及发生内存泄漏的位置。mingdu.zh......
  • 使用位运算优化 N 皇后问题
    使用位运算优化N皇后问题作者:Grey原文地址:博客园:使用位运算优化N皇后问题CSDN:使用位运算优化N皇后问题问题描述N皇后问题是指在n*n的棋盘上要摆n个皇......
  • Ubuntu 16.04安装Brackets 1.7失败,缺失libgcrypt11,解决办法
    Ubuntu16.04安装Brackets1.7失败,缺失libgcrypt11,解决办法mingdu.zhengatgmaildotcom问题Ubuntu16.04安装Brackets1.7失败,提示缺失libgcrypt11。sudodpkg-iBracke......
  • jenkins使用
    1.登录密码原始登录密码获取:安装位置:\ProgramData\Jenkins\.jenkins\secrets路径中的initialAdminPassword文件修改登录密码:2.登录地址及端口修改登录地址:方法1:WEB登......
  • Java使用反射生成JDK动态代理
    Java使用反射生成JDK动态代理1.*使用反射生成JDK动态代理在Java的java.lang.reflect包下提供了一个Proxy类和一个InvocationHandler接口,通过使用这个类和接口可以生成JD......