问题标签 [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 回答
2851 浏览

c++ - 未检测到 SDL 按键事件

我完全不知道为什么这段代码没有得到任何 SDL 按键事件。其他 SDL 事件(为清楚起见已删除)工作正常。它不适用于我的 XP 或 Vista 机器。没有编译/链接错误,只是永远不会收到 keydown 事件。

0 投票
5 回答
7663 浏览

c - 最大化 SDL 窗口

我应该如何告诉 SDL 最大化应用程序窗口?

我正在使用这些标志创建窗口:SDL_OPENGL | SDL_HWSURFACE | SDL_DOUBLEBUF | SDL_RESIZABLE。

0 投票
2 回答
3635 浏览

c++ - SDL_event KEYDOWN 行为问题

这是问题所在,我编写了一个事件循环来检测 keydown 和 keyup 事件。我遇到的问题是 keydown 事件在按下并按住键时生成 keydown 和 keyup 事件。我正在使用箭头键移动对象,然后在释放键时停止移动(keyup)。任何帮助都会有所帮助。谢谢。=)

贾斯汀

PS我会发布代码,但我无法让它看起来正确。

在试图弄清楚如何发布代码时,我注意到我在两种情况下都遗漏了默认值。代码现在可以工作了。它不断地处理这些案例并执行与队列中的内容相匹配的代码。傻我。感谢所有的帮助。=)

0 投票
3 回答
7632 浏览

opengl - 在不裁剪的情况下缩放 SDL 曲面的正确方法?

缩放 SDL 表面的正确方法是什么?我在网上找到了一种解释,但它需要逐个像素地重绘 Surface。似乎应该有某种方式通过 SDL 本地执行此操作,而不是像那样重绘图像。我无法在涵盖此内容的 SDL 文档中找到任何内容。我可以通过修改曲面的宽度和高度来毫无问题地调整曲面的大小,但生成的曲面会被剪裁。

0 投票
4 回答
6216 浏览

c++ - 需要客户端交互式 2D 世界地图:最佳地图包?或者最好的 C++ 图形/画布库来制作一个?

我需要一张世界的 2d 政治地图,我将在其上绘制图标、文本和四处移动的线条。用户将与地图交互,放置和移动图标,他们将放大和缩小地图。

谷歌地图界面离我需要的不是很远,但这与网络无关;它是一个 Windows MFC 应用程序,我想与 C++ API 对话,以获取应用程序中的地图,而不是 Web 界面。理想情况下,我也不想要单独的服务器,并且任何服务器都必须在本地运行(而不是在 Internet 上)。我应该使用什么罐装地图包或图形库来执行此操作?我没有图形编程经验。

这是严格的 2D,所以我不认为像 Google Earth 或 WorldWind 这样的东西是合适的。良好的矢量图形支持会很酷,并且易于绘制位图很重要。

所有的罐头选项似乎都是面向网络的。SDL 是我所知道的关于灵活画布编程的所有知识,但对于可能是常见问题的问题,制作我自己的地图似乎需要做很多工作。有没有更高层次的?也许有一种方法可以与 adobe Flash 对象交互?我相当无知。

0 投票
3 回答
2259 浏览

c++ - 使用 SDL 和 C++ 的分段错误,尝试 Blit 图像

好的 - 我这里有一个有趣的。我正在研究俄罗斯方块克隆(基本上是为了“升级”我的技能)。我试图重构我的代码,让它按照我想要的方式抽象。虽然它以前工作得很好,但现在我在任何图像被 blitted 之前遇到了分割错误。我试过调试它无济于事。

我在这里发布了我的项目的 SVN 工作副本。

这只是一个小项目,比我有更多知识的人和一个好的调试器可能会很快解决。唯一的依赖是SDL。感谢能够告诉我我做错了什么的人。

编辑:据我所知,我现在拥有的和以前拥有的在逻辑上是相同的,所以我不认为我现在拥有的会导致分段错误。只需在工作副本上运行 svn revert,重新编译,您就可以看到它正在工作......

0 投票
2 回答
1798 浏览

c++ - SDL_DisplayFormatAlpha (c++) 的问题

正如我在这个问题中所说,我正在将 SDL 用于我正在开发的一个小游戏。现在我遇到了 SDL_DisplayFormatAlpha 的问题。我正在尝试从 PNG 图像创建一个带有 alpha 通道的表面。它以前可以工作,但现在我做了一些轻微的重构,有些东西坏了。我把它缩小到这个构造函数:

这编译得很好,但是当我运行它时,我得到一个分段错误。gdb报错:

堆栈跟踪如下:

如果我像这样评论surface = SDL_DisplayFormatAlpha( tempSurface );SDL_FreeSurface( tempSurface );取消评论surface = tempSurface;

然后它似乎工作得很好。谁能告诉我发生了什么事?实际上,当我注释掉 SDL_DisplayFormatAlpha 时,透明度似乎也有效。该功能是否仅适用于尚未具有 Alpha 通道的图像?

0 投票
1 回答
839 浏览

events - SDL 事件调试问题

我目前正在尝试使 SDL 事件正常工作,但问题是该程序无法正常工作。

当我运行程序时;它打开和关闭非常快,并且调试给出了这些错误:

我正在使用 Visual Studio C++ Express Edition 2008,包含的文件是:

我试图开始工作的代码可以在以下位置找到:http: //lazyfoo.net/SDL_tutorials/lesson04/index.php

0 投票
1 回答
2221 浏览

window - 无法按“X”或关闭窗口应用程序右上角的底部

我正在试验 SDL Events,但遇到了问题。出于某种原因,我无法按窗口应用程序右上角的“X”或关闭底部。现在我不确定这是否与 SDL 编码有关,或者是窗口浏览器的问题。

有谁知道这是 SDL 问题还是 Window 问题?

0 投票
2 回答
7635 浏览

c++ - 如何将 OpenCV IplImage 转换为 SDL_Surface?

我正在尝试编写一个程序,该程序需要一个SDL_Surface,将其转换为IplImage,使用 cvBlobsLib 查找 blob,将 blob 绘制为图像上的点,然后将输出转换IplImageSDL_Surface.

我快完成了:只有将IplImageback 转换为 anSDL_Surface尚未完成。这个 IplImage 有 3 个图像通道,每像素 8 位。我想我可以使用两个电话:

我目前正在尝试使用SDL_CreateRGBsurfaceFrom. 但是,我不知道 pitch、Rmask、Gmask 和 Bmask 的正确值是多少。(Amask 为 0,因为没有 Alpha 通道。)

任何人都可以通过解释如何做到这一点来帮助我吗?

谢谢!

编辑:例如,这是我尝试使用的代码:

(SDL 文档写道“Pitch 是表面扫描线的大小,以字节为单位,即 widthInPixels*bytesPerPixel。”)这会输出“Depth 8, nChannels 3, pitch 1920”并显示一个完全红色的图像。我认为一个解决方案是将我的 8 位图像转换为 24 位(每个通道 1 个字节),但我不知道该怎么做。有任何想法吗?