sdl相关内容

如何用SDL2.0绘制正方形?

我想做一些简单的事情,比如使用C和SDL在屏幕上画一个正方形。我复制的示例不起作用。 //Get window surface SDL_Surface *screenSurface = SDL_GetWindowSurface(window); //Fill the surface white SDL_FillRect(screenSurface, NULL, SDL_MapRGB(scr ..
发布时间:2022-07-11 20:46:22 其他开发

2D平台冲突处理

我正在尝试创建一个2D Platform(马里奥类型)游戏,我在正确处理碰撞方面有一些问题。我用C++编写这个游戏,使用SDL进行输入、图像加载、字体加载等。我还通过FreeGLUT库和SDL一起使用OpenGL来显示图形。 我的碰撞检测方法是AABB(轴对齐边界框),这是我真正需要开始的全部内容。我需要的是一种简单的方法,既能检测碰撞发生在哪一边,又能正确处理碰撞。因此,基本上,如果球员与 ..
发布时间:2022-07-11 20:42:13 C/C++开发

在SDL窗口打开的情况下获取终端输入?

我正在尝试编写一个使用SDL窗口的程序,此窗口是通过一个对象调用的,该对象将包含要在窗口上执行的函数。 我遇到的问题是,我希望通过终端接受输入,而终端将调用命令来完成对象。 我尝试过使用多线程,但我发现在Main和SDL Thread中都需要类的实例,解决此问题的一种方法是全局类实例,但我认为这将是糟糕的编程。 有没有其他方法可以打开SDL窗口并在终端窗口中执行CIN之类的操作 ..
发布时间:2022-04-05 13:07:22 C/C++开发

SDL_Mixer在特定事件上停止播放音乐

如果某个点在范围内,我的程序需要停止播放声音,因为我有一个函数run()的类,它在单独的线程上运行,并使用SDL.h和SDL_mixer.h播放声音: void SoundCheck::run() { Mix_PlayMusic(music, 1); while(1) { if(normalize(sound[0], range_->getPos()) ..
发布时间:2022-04-05 13:02:13 C/C++开发

带多个窗口的SDL 2.0退出事件

我正在使用SDL2.0,并决定尝试制作多个窗口。遗憾的是,现在我无法退出我的程序,除非返回到IDE并强制关闭它。 事件处理尽可能简单,我只轮询Quit事件,在添加第二个窗口之前,它工作得很好。使用多个窗口时是否忽略Quit事件?如果是,我如何才能重新打开它? 推荐答案 仅在尝试关闭最后一个打开的窗口时发送Quit事件,否则发送窗口关闭事件。 ..
发布时间:2022-04-05 12:57:09 其他开发

在SDL中缩放精灵

如何在SDL中缩放精灵? 推荐答案 sdl不直接提供缩放功能,但有an additional library called SDL_gfx提供旋转和缩放功能。还有another library called Sprig提供类似功能。 ..
发布时间:2022-04-05 12:55:56 其他开发

带SDL_CreateRender的SDL_GetWindowSurface

我正在用C++编写一个使用SDL2的游戏。 我想在此游戏中使用SDL_GetWindowSurface和SDL_CreateRender,如果我只使用其中一个,它会正常工作,但如果我尝试同时使用它们,游戏就会崩溃。 我认为如果这两个功能都处于活动状态,则这两个功能不起作用。 这就是问题所在吗? 推荐答案 我认为如果这两个功能都处于活动状态,则这两个功能不起作用。 ..
发布时间:2022-04-05 12:53:31 C/C++开发

阅读C中的按键;例如:箭头键、Enter键

我知道如何使用事件来测试按键是否被按下,但在C中我从来不知道如何做到这一点。 我确切需要的是侦听向上、向下、左和右箭头键的";KeyListener";。我需要它在Linux中工作,所以没有Windows库。如果可能,不使用第三方库对我来说是最好的选择。 我想要的伪码: int main() { // key listener { // if(ke ..
发布时间:2022-02-26 10:32:31 其他开发

用 int main(void) 编译失败;main(int argc, char *argv[]) 成功.为什么?

问题 为什么编译具有 int main(void) 主函数的程序与编译具有 int main(int argc, char *argv[]) 的程序不同 main 函数,如果程序不使用命令行传递的参数? 这个操作系统或编译器是特定的吗?我使用 mingw 和 g++ 没有得到相同的结果(这很奇怪,因为wingw 是 gcc 的一个端口). 示例 代码 #include ..
发布时间:2022-01-23 20:55:05 C/C++开发

SDL 将窗口另存为 BMP

我正在用 SDL 和 C 编写程序,我希望能够将窗口保存为图像. 这是我的代码: screen = SDL_GetWindowSurface(win);SDL_SaveBMP(屏幕,“屏幕"); 但是当我执行它时,我得到: 分段错误 我从其他来源收集到关于指针和内存访问的信息.有什么帮助吗? 解决方案 在窗口表面调用 SDL_LockSurface在保存位图之前,然后是 SD ..
发布时间:2022-01-12 16:33:57 服务器开发

C++ SDL 分段错误

我让我的游戏正常运行,然后决定尝试使用以下教程来实现一个菜单. 我没有使用教程来创建他之前创建的教程中的游戏. 每当我编译并运行程序时,它会短暂加载,然后关闭并在 code::blocks. 更新:我已将 pastebin 链接的代码更新为我现在所拥有的,我现在从调试器得到的错误是 程序收到信号SIGSEGV,分段错误.在 TTF_SizeUNICODE () (E:\game ..
发布时间:2022-01-12 16:33:36 C/C++开发

使用 SDL 2 运行应用程序时 Xcode 5 崩溃

我尝试按照这两个教程(或它们的适用部分,由于版本差异)安装 SDL 2.0.2 以使用 Xcode 5.1: 教程1 教程2 使用链接的 SDL 2 框架运行任何程序会导致 Xcode 崩溃并出现以下问题详细信息: 进程:Xcode [1787]路径:/Applications/Xcode.app/Contents/MacOS/Xcode标识符:com.apple.dt.Xco ..
发布时间:2022-01-12 11:08:56 移动开发

如何在 C++/Windows 中输出到控制台

在 Linux 上的 C++ 中使用 iostream 时,它会在终端中显示程序输出,但在 Windows 中,它只是将输出保存到 stdout.txt 文件中.在 Windows 中,如何使输出显示在控制台中? 解决方案 既然你提到了stdout.txt,我就用谷歌搜索看看究竟是什么会创建一个stdout.txt;通常,即使使用 Windows 应用程序,控制台输出也会发送到分配的控制台 ..
发布时间:2022-01-11 08:31:08 C/C++开发

OpenGL over Windows Remote 的当前状态和解决方案

OpenGL 和 Windows Remote 不能很好地配合. 解决方案取决于用例,答案分散在网络的广阔深处.当我开始研究这个时,我希望这是一篇写给编码员和非编码员的文章. 问题: Windows 的 RDP 会话不会暴露显卡,至少不会直接暴露.例如,您无法更改桌面分辨率,而显卡驱动程序通常只是禁用它们的设置菜单.因此,启动高于 v1.1 的 OpenGL 上下文会失败.尤其是 ..
发布时间:2022-01-09 08:51:53 其他开发

表面和纹理的区别(SDL/通用)

谁能用简单的话向我解释一下纹理和表面之间的区别是什么?我看到它在 SDL2 中用作 SDL_Surface 和 SDL_Texture.SDL_Texture 是从 SDL_Surface 创建的,而 SDL_Surface 又是从图像/位图创建的.两者都是像素的集合.但我看不出它们之间的主要区别(必须用 GPU 做点什么?) 我试着用谷歌搜索,但我发现的所有解释都太复杂了,如果不深入研究计 ..
发布时间:2021-12-30 18:36:14 其他开发