问题标签 [sdl-image]
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++ - CodeBlocks C++ SDL2,PNG 图像无法在 IDE 之外显示
在我的项目中,我有一个Animator类,它有一个加载所有精灵的方法。
因此,如果我在 IDE 中运行它,它会正确加载所有精灵而不会出现任何错误。我刚刚检查了所有调试指针,所有这些都正常,每个图像都按照我所说的正确显示,但仅在 IDE 中。如果我构建它并尝试在 IDE 之外运行可执行文件(在发布或调试文件夹中),则根本不会显示图像。
还有一件事。字体在 IDE 之外正确加载,但 Sprites 没有。
c++ - 使用 glTexImage2D 时出现“框架不在模块中”
我以前从来没有遇到过这个错误,我glTexImage2D
在项目的其他地方使用没有错误。下面是 Visual Studio 显示的错误截图,以及反汇编视图:
鉴于该行包含ptr
在其中,我假设存在指针错误,但我不知道我做错了什么。下面是我用来从SDL_surface
一个纹理转换为纹理的函数。
此函数在程序的其他地方成功,例如在加载文本时:
但不是在加载图像时:
这两个示例都是从texture
定义的类中提取的。图像的路径是正确的。我知道这glTexImage2D
是导致问题的原因,因为我在开始时添加了一个断点surfaceToTexture
并逐步执行该函数。即使它不起作用,texture
并且surface
确实具有看似正确的值/属性。
有任何想法吗?
c - 使用 Emscripten 编译 Nim 和 SDL2 图像时的类型冲突
我尝试编译一个将 SDL2 Image 与 Emscripten 结合使用的 Nim 项目,但我遇到了几个冲突类型的错误。我可以在这个小代码片段中重现这个问题:
索引.nim
尼姆.cfg
当我编译这个代码片段时,我得到一个错误:冲突类型
我是否配置错误?我该如何解决?
编辑:define = SDL_Static
如果我从nim.cfg中删除,我不会收到此错误,但如果我这样做,我无法静态链接到 SDL。
Nim 编译器版本 0.16.1 (2017-05-07) [Linux: amd64] (devel 分支的最新版本)
emcc(Emscripten gcc/clang-like 替换)1.37.9(提交 b5bee629cb54864e7e231ae55a7d0ae9bdc25c6c)
cmake - Cmake - freetype, sdl, sdl-image
我有以下 cmake 文件:
我像这样运行它:cmake .
然后make
.
我第一次收到以下错误:
所以我执行以下操作:chmod -R 777 /home/xubuntu/git/testCmake/libs/SDL2
然后make
再次,但随后出现以下错误:
我已经尝试了几个小时,但我无法使用 cmake 安装 sdl、sdl-image。
谢谢。
c++ - 如何使用 SDL 将纹理加载到使用 emscripten 的 WebAssembly 项目?
我正在尝试使用 SDL 将纹理加载到我的应用程序中。当构建为本机应用程序时,它可以正常工作。但是当我使用 Emscripten 构建它时,无法加载纹理。
纹理图像的宽度为64像素,我可以通过打印出w
SDL_Surface 实例的成员来验证。但是当我尝试在 WebAssembly 应用程序中打印出相同的成员时,它会产生5076 ...
装满 emscripten 时,图像是否会以某种方式“破碎”?
这是加载纹理的代码:
这是使用 Emscripten 构建 Web 应用程序的命令
我在启动 Web 应用程序时收到浏览器的错误消息是
webapp.js:9533 WebGL:INVALID_VALUE:texImage2D:宽度或高度超出范围
这是有道理的,因为图像的分辨率是如此疯狂......
c - SDL:视口未正确显示
我正在尝试在游戏上设置暂停功能,当我按下 esc 游戏冻结但菜单图像不显示时,视口渲染有什么问题?
你可以在这里找到代码:
对于显示暂停菜单很重要的行是:
55、69、141
c++ - SDL_Texture 使一切都呈现黑色
我在 SDL 中开发了一个相当大的应用程序有一段时间了,最近发现了一个奇怪的错误;每当关闭一个窗口时,另一个窗口上的所有内容都将完全呈现黑色。当我画一条红色的线时,它会是黑色的,当我画一个 SDL_Texture 时,它会画一个黑色的矩形来代替图像。
过了一段时间,我设法通过从头开始制作应用程序的简化版本来重现问题。该程序包括一个存储窗口、其渲染器和 SDL_Texture 的窗口类。窗口类还包括一个渲染函数,用于将内容渲染到其窗口,包括 SDL_Texture。还有一个函数允许每个窗口对象处理 SDL 事件,例如窗口被关闭。当窗口关闭时,窗口、渲染器和纹理都被销毁。
main 函数一次管理多个窗口,并分别为每个窗口提供 SDL 事件:
现在我已经展示了我的代码,我将更详细地解释这个问题。程序启动时,会创建四个窗口对象,每个窗口都显示在屏幕上。每个窗口都正确渲染,一个 PNG 图像覆盖在一个红色矩形的顶部。第四个窗口,或最后一个要初始化的窗口,只会在任何其他窗口关闭后以黑色渲染图像、矩形和线条等内容。唯一会以不同颜色渲染的是SDL_RenderClear
,我在上面的代码中使用它来渲染绿色背景,它暴露了黑色图像和矩形形状。
我已经测试确保纹理、渲染器和窗口在出现此问题后仍然有效,并且没有错误。
我至少想找出导致问题的原因以及是否有任何可能的解决方案。