如何用SDL 2.0画正方形?

2024-02-29

我想做一些简单的事情,比如使用 C 和 SDL 在屏幕上画一个正方形。我复制的例子不起作用。

//Get window surface
SDL_Surface *screenSurface = SDL_GetWindowSurface(window);

//Fill the surface white
SDL_FillRect(screenSurface, NULL, SDL_MapRGB(screenSurface->format, 0xFF, 0xFF, 0xFF));

//create a square
SDL_FillRect(screenSurface, SDL_Rect(0,0,100,100), SDL_MapRGB(screenSurface->format, 0x00, 0x00, 0x00));

它正确地将屏幕填充为白色,但在调用时失败SDL_Rect:

error: expected expression before ‘SDL_Rect’

如何使用 SDL 2.0 正确绘制正方形?


SDL_FillRect不需SDL_Rect作为一个论点;它需要一个指向SDL_Rect.

//Create a square
SDL_Rect rect(0,0,100,100);
SDL_FillRect(screenSurface, &rect, SDL_MapRGB(...))

这就是为什么当你填充白色时你可以通过NULL到函数。NULL不属于类型SDL_Rect,但它是一个指针,所以编译器可以接受它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何用SDL 2.0画正方形? 的相关文章

随机推荐

  • 任务并行库 - 自定义任务调度程序

    我需要向在线 api 发出 Web 服务请求 我认为并行扩展非常适合我的需求 所涉及的网络服务被设计为重复调用 但有一种机制 如果每秒的调用次数超过一定数量 就会向您收费 我显然想最大程度地减少费用 因此想知道是否有人见过可以满足以下要求的
  • 在 Swift fileExistsAtPath(_ path: String, isDirectory isDirectory: UnsafeMutablePointer) 中 -> Bool 仅接受单个参数

    下面示例中的方法 fileExistsAtPath 仅接受单个参数 if fm fileExistsAtPath result isDirectory isDir 确切的错误消息是 调用中存在额外参数 isDirectory 知道出了什么问
  • 10以下的int值转换为字符串两位数字

    string strI for int i 1 i lt 100 i strI i ToString 在这里 如果i 1 then ToString yields 1 但我想得到 01 or 001 看起来很简单 但只有一篇文章关于 dat
  • 什么是 DataGridView.Rows.Clear()?

    我每隔一定时间就会以编程方式在 datagridview 中添加一些行 我想在datagridview中查看某些github存储库的状态 例如是否在线 特定时间存储库中有多少提交等 因此 当超时时 我使用 DataGridView Rows
  • Pyomo:使用 if 语句进行约束

    我目前正在努力解决这个问题 我需要最大化这家公司的利润 这就是我目前拥有的代码 from pyomo environ import from pyomo opt import opt solvers SolverFactory ipopt
  • 使用 Google 的 C++ Native Client 的 HTTP POST 请求

    如何使用 Google 的 C Native Client 执行 HTTP POST 请求 这个问题很久以前就被问过 但以防万一其他人也想知道同样的事情 您可以使用pp URLRequestInfo SetMethod https deve
  • 流行 Android 手机支持的相机预览尺寸

    我正在使用相机预览帧 并且需要决定我将使用的最小预览尺寸 我需要相当高的分辨率 并且正在尝试找出我可以在更流行的 Android 手机和操作系统版本上获得的最高预览分辨率 根据判断关于 Nexus One Froyo 预览尺寸的问题 htt
  • 使用显式与隐式意图启动 Android 服务

    根据标准 Android 文档 启动服务 即启动服务 的首选方法是使用如下所示的显式意图 Using explicit intent Intent serviceIntent new Intent getApplicationContext
  • 如何将 package.json 版本写入我的 WebPack 捆绑包?

    我的 package json 文件包含我的模块的版本 该版本最终被编译到我包含在我的 Web 项目中的 app bundle js 文件中 我真的很想将 package json 文件中的版本号写入 app bundle js 文件 作为
  • 按创建日期对 glob() 进行排序 [重复]

    这个问题在这里已经有答案了 我在用 foreach glob config pages php as page 获取目录中所有文件的列表config pages 我可以先显示最旧的文件 最后显示最新的文件吗 我想用所有这些制作一个导航菜单
  • 发送聊天消息

    我有这个代码 var msg new ChatMessage msg Body Test msg Recipients Add number var cms await ChatMessageManager RequestStoreAsyn
  • 使用基类作为 WCF 服务的参数

    我有一个多项目解决方案 一个项目提供一个包含多个类的 DLL 其中一门课是WorkerTemplate 另外两个类继承自它 即ExecSQLWorker and CopyWorker class ExecSQLWorker WorkerTe
  • 无服务器:在 ubuntu 16.04 中找不到命令

    我正在尝试在 Ubuntu 16 04 LTS 中设置 AWS Serverless 框架 我安装了 Node js 并且还使用以下命令安装了 Serverless npm install g serverless在终端中 但当我尝试跑步时
  • PowerShell ForEach / 管道混乱

    我正在 PowerShell 中使用 TFS PowerTools Cmdlet 尝试从我的服务器获取有关变更集和相关工作项的一些信息 我已将问题归结为我不理解的行为 我希望它不是 TFS 特定的 所以那里的人可能能够向我解释问题 这是我可
  • C# 中的内部类

    直到最近我才知道普通类和内部类 子类之间有区别 内部类的实例与其包含类的实例之间有什么关系 内部类的目的是什么以及它们有何不同 与 Java 不同 C 包含的类是嵌套的 包含类实例和被包含类实例之间没有关系 包含类仅在 C 中用于控制包含类
  • 使用 Jackson 根据 API 版本指定不同的 JSON 属性名称

    我需要能够使用 Jackson 序列化 反序列化对象同时支持多个 API 版本 我探索过以下解决方案 JsonProperty 属性命名策略 混合注解 然而 每一个都会导致自己的问题 如果我可以直接在注释中添加具有正确名称的多个版本 Jso
  • 编译/链接过程如何进行?

    编译和链接过程如何进行 Note This is meant to be an entry to Stack Overflow s C FAQ https stackoverflow com questions tagged c faq I
  • JCombobox箭头消失

    当在未放置在构造函数中的方法中填充组合框时 组合框的箭头消失 我尝试使用invokeLater方法 但它不起作用 private void fillProduct this VALID FOR PRODUCT removeAllItems
  • 内联块元素似乎毫无理由地断行?

    我有一些非常基本的 HTML CSS 但没有按我的预期工作 基本上我的身体设置为 400 像素宽 然后 我在 body 内有两个 div 其显式宽度分别为 300px 和 100px 此外 这两个 div 都设置为display inlin
  • 如何用SDL 2.0画正方形?

    我想做一些简单的事情 比如使用 C 和 SDL 在屏幕上画一个正方形 我复制的例子不起作用 Get window surface SDL Surface screenSurface SDL GetWindowSurface window F