问题标签 [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.
c++ - 未检测到 SDL 按键事件
我完全不知道为什么这段代码没有得到任何 SDL 按键事件。其他 SDL 事件(为清楚起见已删除)工作正常。它不适用于我的 XP 或 Vista 机器。没有编译/链接错误,只是永远不会收到 keydown 事件。
c - 最大化 SDL 窗口
我应该如何告诉 SDL 最大化应用程序窗口?
我正在使用这些标志创建窗口:SDL_OPENGL | SDL_HWSURFACE | SDL_DOUBLEBUF | SDL_RESIZABLE。
c++ - SDL_event KEYDOWN 行为问题
这是问题所在,我编写了一个事件循环来检测 keydown 和 keyup 事件。我遇到的问题是 keydown 事件在按下并按住键时生成 keydown 和 keyup 事件。我正在使用箭头键移动对象,然后在释放键时停止移动(keyup)。任何帮助都会有所帮助。谢谢。=)
贾斯汀
PS我会发布代码,但我无法让它看起来正确。
在试图弄清楚如何发布代码时,我注意到我在两种情况下都遗漏了默认值。代码现在可以工作了。它不断地处理这些案例并执行与队列中的内容相匹配的代码。傻我。感谢所有的帮助。=)
opengl - 在不裁剪的情况下缩放 SDL 曲面的正确方法?
缩放 SDL 表面的正确方法是什么?我在网上找到了一种解释,但它需要逐个像素地重绘 Surface。似乎应该有某种方式通过 SDL 本地执行此操作,而不是像那样重绘图像。我无法在涵盖此内容的 SDL 文档中找到任何内容。我可以通过修改曲面的宽度和高度来毫无问题地调整曲面的大小,但生成的曲面会被剪裁。
c++ - 需要客户端交互式 2D 世界地图:最佳地图包?或者最好的 C++ 图形/画布库来制作一个?
我需要一张世界的 2d 政治地图,我将在其上绘制图标、文本和四处移动的线条。用户将与地图交互,放置和移动图标,他们将放大和缩小地图。
谷歌地图界面离我需要的不是很远,但这与网络无关;它是一个 Windows MFC 应用程序,我想与 C++ API 对话,以获取应用程序中的地图,而不是 Web 界面。理想情况下,我也不想要单独的服务器,并且任何服务器都必须在本地运行(而不是在 Internet 上)。我应该使用什么罐装地图包或图形库来执行此操作?我没有图形编程经验。
这是严格的 2D,所以我不认为像 Google Earth 或 WorldWind 这样的东西是合适的。良好的矢量图形支持会很酷,并且易于绘制位图很重要。
所有的罐头选项似乎都是面向网络的。SDL 是我所知道的关于灵活画布编程的所有知识,但对于可能是常见问题的问题,制作我自己的地图似乎需要做很多工作。有没有更高层次的?也许有一种方法可以与 adobe Flash 对象交互?我相当无知。
c++ - SDL_DisplayFormatAlpha (c++) 的问题
正如我在这个问题中所说,我正在将 SDL 用于我正在开发的一个小游戏。现在我遇到了 SDL_DisplayFormatAlpha 的问题。我正在尝试从 PNG 图像创建一个带有 alpha 通道的表面。它以前可以工作,但现在我做了一些轻微的重构,有些东西坏了。我把它缩小到这个构造函数:
这编译得很好,但是当我运行它时,我得到一个分段错误。gdb报错:
堆栈跟踪如下:
如果我像这样评论surface = SDL_DisplayFormatAlpha( tempSurface );
和SDL_FreeSurface( tempSurface );
取消评论surface = tempSurface;
:
然后它似乎工作得很好。谁能告诉我发生了什么事?实际上,当我注释掉 SDL_DisplayFormatAlpha 时,透明度似乎也有效。该功能是否仅适用于尚未具有 Alpha 通道的图像?
events - SDL 事件调试问题
我目前正在尝试使 SDL 事件正常工作,但问题是该程序无法正常工作。
当我运行程序时;它打开和关闭非常快,并且调试给出了这些错误:
我正在使用 Visual Studio C++ Express Edition 2008,包含的文件是:
我试图开始工作的代码可以在以下位置找到:http: //lazyfoo.net/SDL_tutorials/lesson04/index.php
window - 无法按“X”或关闭窗口应用程序右上角的底部
我正在试验 SDL Events,但遇到了问题。出于某种原因,我无法按窗口应用程序右上角的“X”或关闭底部。现在我不确定这是否与 SDL 编码有关,或者是窗口浏览器的问题。
有谁知道这是 SDL 问题还是 Window 问题?
c++ - 如何将 OpenCV IplImage 转换为 SDL_Surface?
我正在尝试编写一个程序,该程序需要一个SDL_Surface
,将其转换为IplImage
,使用 cvBlobsLib 查找 blob,将 blob 绘制为图像上的点,然后将输出转换IplImage
回SDL_Surface
.
我快完成了:只有将IplImage
back 转换为 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 个字节),但我不知道该怎么做。有任何想法吗?