问题标签 [sdl-1.2]
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 1.2 程序中,我有一个KeyPressed函数,它需要检查是否按下了某个键。如果鼠标指针没有移动到窗口前面,则程序会在按下键时按预期停止。另一方面,如果将鼠标指针移到窗口前面,事件队列似乎已填满,之后程序不再响应按键。当没有键盘事件时,有没有办法清空事件队列?
c - 将 SDL_Surface* 初始化为函数
我想将我所有的 SDL_Surface 初始化为一个函数,以便获得最清晰的 main 可能,但它似乎不起作用。我正在这样做:
并像这样主要调用它:
我测试过,IMG_Load 工作正常,但它似乎没有在函数之外初始化我的 SDL_Surface。有没有办法做到这一点 ?我想必须有一种方法可以正确初始化我的所有 SDL_Surface 在主...
同样,如果我将 SDL_Init() 和 SDL_SetVideoMode() 放入一个函数中,我猜我的屏幕也不会被初始化?这是我的功能:
我打电话给主要的:
没有什么给我发送错误,但似乎没有任何反应。我在网上找到的唯一内容是“你为什么要这样做?没用”。那正确吗 ?
c++ - SDL_MapRGB,如何使用指向指针的指针获取屏幕->格式
我正在使用一个函数生成一个关卡,所以我正在发送一个指向我的屏幕指针的指针来更新他。但是当我尝试使用 SDL_MapRGB 时,我得到了一个错误*screen->format
。有没有办法做到这一点 ?这是我正在使用的代码:
错误出现在代码的末尾,在 SDL_FillRect(); 一切正常,但是这个,我不知道该怎么做。尝试使用 *screen->format、**screen->format、screen->format 甚至 &screen->format(我多么绝望 ^^)。
编辑:错误
错误:在'* screen'中请求成员'format',它是指针类型'SDL_Surface*'(也许你打算使用'->'?)“`
c - SDL 1.2 必须按两次键才能使事件生效
为了捕捉事件,我在我的 main 中有一个循环。如果玩家输入“1”,那么我调用函数 play(),它也包含一个事件循环(用于移动等)。我真的不明白为什么,但是我必须按两次ESCAPE才能离开游戏,而其他键似乎无法识别。如果我将循环删除到主循环中,那么一切正常。
这是我的主要循环:
这是我的功能(她仍在进行中,所以如果它看起来很愚蠢,请不要感到震惊:D)
c++ - SDL 与 Qtcrator
我已将 qtcreator 用于控制台应用程序。现在我想将它与 SDL1 一起使用,因为我有一个关于 SDL1 的教程,并且我想在 qtcreator 上学习 SDL,但似乎 qtcreator 有 2 个选项,首先是 consol application,其次是使用 qt 的界面和窗口应用程序。那么我可以使用 SDL 生成的窗口吗?我做了同样的研究,我已经将 SDL 库添加到 qmake 但它没有用
我的文件 *.pro
我的 main.cpp
我有这个错误
这是我的 SDL1 目录 ,目录末尾有更多文件,但我认为它们并不重要
非常感谢你帮助我
c++ - SDL 1.2 和 SMPEG:仅黑白视频输出
在尝试将 SMPEG 移植到 SDL 1.2 时,我使用了 SDL_CreateRGBSurface 而不是 SDL_UpdateTexture。然而,最后,我想出了这个:
front=SDL_CreateRGBSurfaceFrom(context.frame->image,context.frame->w, context.frame->h,8,context.frame->w,0xff,0xff,0xff,0);
这有效,但我得到的是黑白图像而不是彩色图像。对 bpp 的任何修改都会产生一些疯狂的结果。我可以为此提供提示或一些示例代码吗?
c - Dr.Memory 在 SDL 程序上使用时崩溃
我正在开发一个 SDL 1.2 项目(Windows、C、Code::Blocks,也使用 sdl_tff 库)。我正在尝试使用 Dr.Memory 检查内存泄漏,但我遇到的问题是它在启动时崩溃(下面提供的日志),
exe 本身会自行崩溃,一旦我将我使用的 tff 文件添加到其目录中,它就可以自行运行良好。
这两个文件在哪里并不重要,只要它们都在同一个目录中,exe运行良好。
如何让 Dr.Memory 正确执行?
c++ - 未定义符号:SDL_FreeSurface
我有这个错误:
未定义符号:SDL_FreeSurface
我试图调用void SDL_FreeSurface(SDL_Surface* surface);
需要释放表面的方法,但这似乎并不能解决问题。
我将 SDL 1.2 与-lSDL
, 和-lSDL_image
选项 ( /usr/bin/ld: cannot find -lSDL_image
) 相关联。
我使用动态库。
c++ - 在 SDL 1.2 中移动 SDL 窗口
我在 MAC 上使用带有 FFmpeg 的 SDL 1.2。我正在尝试使用 FFmpeg 和 SDL 构建视频播放器。我正在 SDL_Surface 上观看我的视频。我的播放器工作正常。现在我的问题是,我想移动 SDL 窗口而不从标题栏中拖动它。SDL 1.2 框架中是否有任何用于移动 SDL_Surface 的函数/方法。