问题标签 [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 投票
2 回答
4484 浏览

c++ - 代码块 8.02 控制台程序不使用 SDL 输出 cout 语句

我目前在代码块 8.02 中使用 SDL-devel-1.2.13-mingw32 库。在 C:\ 上单独安装 mingw 5.1.6 后,该程序编译并运行没有错误,但我看不到最后一个系统(“暂停”);屏幕上。当我按任意键时,它当然会跳过系统(“暂停”);然后代码块告诉我它成功运行。它也不会显示 cout << " SDL \n"; 怎么回事?

0 投票
2 回答
1061 浏览

c++ - 陷入构建游戏引擎的困境

我正在尝试使用 c++、SDL 和 OpenGL 构建一个(简单的)游戏引擎,但我似乎无法弄清楚下一步。这是我目前所拥有的......

控制主游戏循环的引擎对象

将渲染场景的场景渲染器

一堆可以推送和弹出的游戏状态

每个状态都有一个参与者的集合,每个参与者都有一个三角形的集合。场景渲染器成功设置视图投影矩阵

我不确定我遇到的问题是否与如何存储演员位置或如何创建渲染队列有关。

我已经读过,创建一个渲染队列是有效的,它将从前到后绘制不透明的多边形,然后从后到前绘制透明的多边形。因此,我的演员调用场景渲染器对象的“queueTriangle”方法。然后场景渲染器对象存储一个指向每个演员三角形的指针,然后根据它们的位置对它们进行排序,然后渲染它们。

我面临的问题是,要发生这种情况,三角形需要知道它在世界坐标中的位置,但如果我使用 glTranslatef 和 glRotatef 我不知道这些坐标!

有人可以请,请给我一个解决方案,或者将我链接到如何解决这个问题的(简单)指南。

谢谢!

0 投票
4 回答
941 浏览

c++ - 在不指定名称的情况下读取图像文件

SDL 或 C++ 中是否有任何工具允许您从文件夹中读取图像文件而无需指定其名称,例如按顺序读取它们等?如果没有,您是否使用任何技术来完成相同的事情?

做这样的事情:

可能会变得非常乏味,并且不能使用循环,因为文件名每次都是特定的。

我真正想到的唯一方法可能是通过每个循环迭代器修改一个字符串,并将循环号插入字符串的特定部分,假设这是您的文件的标记方式,并将该字符串用作 LoadImage 参数。不过,这似乎比仅做上述工作要多。

0 投票
1 回答
1426 浏览

android - 在 Android 上使用 SDL:由于缺少“GLES_CM”而无法编译

我正在尝试使用 C 在 Android 上使用 OpenGL。我正在关注这个优秀的教程,但我碰壁了。

我在 Linux Mint 7(Ubuntu 9.04 分支)上使用 ARM 编译器(arm-none-linux-gnueabi-ld)。

我可以将编译后的二进制文件复制到 Android 模拟器,它可以运行。但是当我自己尝试时make,我收到以下错误:

它抱怨找不到“GLES_CM”。我不知道那是什么以及在哪里可以找到它。谷歌搜索是空的。也没有手册页arm-none-linux-gnueabi-ld,我无法弄清楚该-l标志是什么或做什么。

以前有没有人做过这种事情,或者你能帮我理解我做错了什么吗?

提前致谢。

Ps 这是我编写的一个小脚本,用于在 Android 模拟器中复制和运行已编译的二进制文件:

0 投票
1 回答
1298 浏览

c# - C# 和 SDL - 最终用户是否需要安装 SDL?

我正在考虑是否尝试使用 SDL 作为 DirectX 的替代品,似乎我只创建 2D 游戏,但是如果需要在最终用户计算机上安装 SDL 以玩开发的游戏,我无法找到任何地方C#,对图形使用 SDL。

有人知道吗?

0 投票
1 回答
1689 浏览

c++ - SDL_Mixer 声音问题

基本信息:

编程语言 - C++

平台 - Windows

音频格式 - wav 和 mid

我最近完成了一个游戏,并且正在寻找将其上传到文件托管站点的最佳方法。我最终决定使用 7zip 的自解压功能。但是,我认为我犯的错误是,我没有将我需要的内容复制到另一个文件夹并将其压缩以进行分发(即,不复制源文件等),而是重新排列了包含我所有源文件的实际文件夹等等,并将其拆分为 C++ 文件的 2 个子文件夹,然后是其他所有文件(该文件夹是被压缩的文件夹。)

我测试了下载并播放它,它工作正常。然而,我回去了,因为我决定改变背景音乐,这就是问题开始发生的时候。

总结问题,Mix_PlayMusic()正在被调用并且工作正常。但是,由于某种原因,没有播放声音(也没有从 调用任何声音效果Mix_PlayChannel())。奇怪的是,你可以在Mix_FadeOutMusic()被叫时听到音乐。我也有一个声音切换功能,但经过彻底的测试,我得出的结论是这不是问题。

我最终决定创建一个全新的项目,并将我需要的所有文件放入与它们最初所在的相同“组织”中的项目中。但是,问题仍然存在。

我不知道出了什么问题。文件正在正常加载,只是当音乐应该播放时(并且根据测试它是),它没有播放。这也适用于音效。

编辑:我实际上为每个游戏循环编写了一个测试,以确定音乐是否正在播放,并且显然音乐正在播放。只是由于某种原因它没有被听到。

0 投票
4 回答
14650 浏览

c++ - 如何清除要替换为另一个的 SDL_Surface?

一段时间以来一直试图在网上找到这个。

我有一个包含一些内容的 SDL_Surface(其中一个是文本,另一个是精灵的一部分)。在游戏循环中,我将数据很好地显示在屏幕上。但随后它再次循环,它不会替换旧数据,而只是覆盖它。因此,在文本的情况下,它变得一团糟。

我试过 SDL_FreeSurface 但没有用,有人知道另一种方法吗?

0 投票
3 回答
933 浏览

c++ - SDL GL 程序立即终止

我正在使用 Dev-C++ 4.9.9.2(不要问为什么)和 SDL 1.2.8。

接下来我创建了新项目:SDL&GL。该项目已经包含一些代码:

接下来我编译了项目并尝试运行它。运行后程序显示不到 1 秒并立即终止。调试器返回以下错误:“程序中引发访问冲突(分段错误)”。

我正在使用带有最新驱动程序的 Windows 2003 和 Radeon x1950 PRO。

我已经在装有 Windows XP 的笔记本电脑上测试了程序,它运行良好。为什么这个程序不能在我的电脑上运行?

0 投票
1 回答
150 浏览

audio - SDL_Audio_Spec 中的回调函数是否每秒调用 SDLAudio_Spec.freq 次?

SDL_Audio_Spec 中的回调函数是否每秒调用 SDLAudio_Spec.freq 次?

0 投票
2 回答
1570 浏览

c - 在 SDL 回调函数中以特定频率播放波形

我有一个 64 个样本长的波形。如果采样率为 44100 赫兹,我如何播放(循环)此波形以播放任意频率?

频率 = 采样率 / 采样中的波形持续时间

因此频率应为 689hz(44100/64)。如果我希望它是 65.41hz(C-2),我必须这样做:

65.41 = 44100 / x

求解 x 产生 aprox。674.208。所以我需要弄清楚以什么速度播放波形来获得这个频率。所以我们可以解这个方程:

64 * x = 674.208

并得到大约 10.5。所以波形需要以原始速度的 10.5% 播放。

这是我的代码:

所以生成的音频应该是关于音符 C-2,但它更像是 D-2。是演员

导致问题?我看不到任何其他方法来实现这一点......