问题标签 [sdl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
487 浏览

c++ - 使用 SDL 进行硬件缓冲,关于它是如何工作的问题

我决定做我的第一个游戏,它会很简单,但我想使用 c++,我选择了 SDL 来学习。所以我的问题是关于编写代码时如何处理“缓冲区”。我将在底部发布我的相关代码。

好的,所以基本上我理解的方式是 SDL 负责实际将哪个缓冲区绘制到屏幕上。当我写入缓冲区时,它始终是我正在写入的后备缓冲区,或者当前未在屏幕上绘制的缓冲区。因此,当我调用 SDL_Flip(screen) 时,它会将我的屏幕表面“blit”到后备缓冲区上,然后将指向哪个缓冲区的指针移动到那个曾经是后备缓冲区的缓冲区,我一直在处理的那个缓冲区,以及现在显示的旧缓冲区成为后缓冲区。此时如果我调用 SDL_FillRect(arguments) 它将在现在的后台缓冲区上执行吗?

我将发布我的学习游戏的整个“心跳”,因为它可能有助于澄清我的问题:

0 投票
4 回答
8107 浏览

c++ - SDL_surface 到 OpenGL 纹理

嘿,我有这个脚本来加载 SDL_Surface 并将其保存为 OpenGL 纹理:

问题是它不起作用。当我从主函数调用该函数时,它只是不加载任何图像(当显示它只是改变绘图颜色时),当从主函数之外的任何函数调用时,程序崩溃。正是这一行使程序崩溃:

有人能看出这有什么错误吗?

0 投票
2 回答
4572 浏览

python - Pygame 找不到包含文件“sdl.h”

我正在尝试在使用 Pygame 的 Windows 上构建下载的 Python 应用程序。我已经安装了 Python 2.5 和 Pygame 1.7.1。我是 Python 新手,但我只是尝试在 Windows 控制台命令行上键入顶级 .py 文件的名称。(我使用的是 Win XP Pro。)

这是我得到的信息。

C:\Python25\include\pygame\pygame.h(68):致命错误 C1083:无法打开包含文件:'SDL.h':没有这样的文件或目录

我认为 Pygame 是建立在 SDL 之上的,不需要单独安装 SDL。尽管如此,我还是安装了 SDL 1.2.13 并将 SDL 包含文件夹添加到我的 %INCLUDE% 环境变量中。仍然没有运气。

我注意到C:\Python25\Lib\site-packages\pygame包含几个 SDL*.DLL 文件,但是 python 树中的任何地方都没有 sdl.h 头文件。当然,我可以将 sdl 头文件复制到C:\Python25\include\pygame文件夹中,但这是一个令人讨厌的想法。

有人知道设置的正确方法吗?

编辑: 该应用程序是“企鹅机器”pygame 应用程序

0 投票
2 回答
1058 浏览

video - 关于SDL的一堆问题

我正在使用 SDL 开始一个小型 RTS 游戏,这里有一些问题:

  • 我使用小精灵,有没有办法用扫描线显示屏幕 x2 ?我尝试使用 rotozoom 缩放它,但它会减慢游戏速度,我想避免手动缩放我的精灵。
  • 运行时如何在全屏和窗口之间切换?我找到了该 SDL_WM_ToggleFullScreen功能,但根据 SDL 文档,它似乎不适用于 Windows。
  • 为了放置我自己的光标,我用我的指针加载了一个精灵并让它跟随鼠标。但我也想降低帧率, SDL_Delay这样做会使指针移动不流畅。SDL 光标似乎不受应用程序帧速率的影响,它是使用它的更好解决方案吗?如果是,有没有办法使用图片而不是奇怪的蒙版?
  • 有没有更好的限制帧率的方法?
  • 如何为表面着色(如draw_lit_sprite在 Allegro 中)
0 投票
3 回答
3931 浏览

xcode - 如何在 OS X 10.5 上使用 SDL 和 Xcode 加载图像?

编辑:在 toastie 的建议下使用 bmp 后,我仍然无法加载图像:

我正在将 SDL 和 OpenGL 与 Xcode 一起使用,并且我正在尝试加载图像以用作立方体上的纹理。图像是 256x256 RBG jpeg。该图像与我的所有源代码位于同一目录中,并且位于 Xcode 项目的 Resources 文件夹下。该文件名为 texture.bmp

我继续运行它并收到控制台错误:Couldn't open texture.bmp

在这些条件下加载文件的路径或正确语法是什么?

0 投票
1 回答
1528 浏览

c++ - 我在播放 Mix_Chunk 时意外延迟

所以我正在尝试学习 SDL 并创建一个小游戏。当用户按下空格键时,它应该会播放声音。这行得通,但播放声音大约需要 0.5 秒......我该如何解决这个问题?我检查了实际文件,看看延迟是否只是其中的一部分,结果并非如此。

SDL with c++ on win vista。

这是一些相关的代码:

句柄输入函数:

如果需要更多,请告诉我。

0 投票
4 回答
461 浏览

emacs - 当我打开特定的头文件时 Emacs 崩溃

当我试图从 Emacs 中名为“SDL_opengl.h”的 SDL 库中打开文件时,我正在挖掘 Linux 中 SDL 的头文件。由于某种原因,它总是导致它崩溃。它在 Vim 和 gedit 中打开得很好。

有没有其他人对 Emacs 有问题,只是简单地拒绝打开特定文件?我应该寻找什么样的东西来找出导致问题的原因?请注意,我能够打开该目录中的所有其他“SDL_*.h”文件;只是那个给我带来了麻烦。

非常感谢提前!

0 投票
3 回答
264 浏览

c++ - 有没有更好的方法来加载大型动画?

也许不是很大,但有一百帧之类的。是通过制作一个数组并单独加载每个图像来加载它的唯一方法吗?

load_image() 是我制作的一个函数,它加载图像并转换它们的 BPP。

似乎他们应该是一个更好的方法..至少我希望。

0 投票
2 回答
8057 浏览

c++ - 如何在 Visual C++ 2008 中安装 SDL 库?

嘿,如何在 VISUAL C++ 2008 中安装 SDL 库?我正在寻找如何安装的教程,但我发现没有什么好的:((请帮帮我吗?抱歉英语不好。谢谢:))

0 投票
2 回答
5381 浏览

opengl - 带有 Dev-C++ 和 SDL 的 OpenGL v2.0 着色器?

我正要在 Windows 下用 Dev-C++ 重建我的库;但是,不支持我在此期间添加的着色器功能,编译器找不到相关函数(::glCreateShader()、::glCreateProgram() 等)

在互联网和 Dev-C++ 文件夹中挖掘,我发现 OpenGL 实现(gl.h)只有 v1.1。我找到了从SGI下载最新标头的建议。我找到了 gl3.h,但是,经过仔细审查后,我意识到 gl.h 无论如何都不包含在我的项目中,我应该查看 SDL/SDL_opengl.h。

编辑: SDL_opengl.h确实包含 gl.h声明了相关函数的原型。所以问题是,为什么我给出的是编译时错误而不是链接器错误?

(我的库只链接到 mingw32、libOpenGL32、libSDL、libSDL_Image 和 libSDL_Mixer,就像在 OSX 下(当然,mingw32 除外)我没有任何问题。)

如何在 Dev-C++ 和 SDL 中使用 OpenGL v2.0 着色器?