问题标签 [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.

0 投票
2 回答
988 浏览

sdl - SDL_SetVideoMode 忽略标志 & SDL_Flip 很慢

我正在初始化

然后在调用睡眠之间循环调用,只是

并且调用翻转需要不同的时间,但大约 10 毫秒,这是很多白费。

所以这让我想知道我是否正在导致从视频内存复制到系统内存或其他东西,我应该以不同的方式创建表面。但是,另外,无论我传递给什么标志,screen->flags它总是等于SDL_ASYNCBLIT并且没有设置其他位SDL_SetVideoMode。所以无论如何我都无法制作任何其他类型的表面。

我是否应该创建另一个屏幕外表面,渲染到该表面,然后将其传送到屏幕上?我究竟做错了什么?

编辑:删除 SDL_Lock 和 SDL_Unlock 对并不能加快速度。SDL_Flip 很慢。

0 投票
1 回答
526 浏览

sdl - SDL:在非全屏模式下查找最大窗口大小

我有一个不以全屏模式运行的应用程序。在 SDL_init 之后,我执行 SDL_SetVideoMode(0, 0, SDL_OPENGL | SDL_HWSURFACE | SDL_ASYNCBLIT)。根据我的阅读,这应该分配一个最大尺寸的窗口。现在不幸的是,它分配了一个 1600x900 的窗口:这是显示器的物理尺寸,而不是显示器上的可用空间(其中一些被菜单行和窗口边框使用)。有什么想法可以找到有多少可用空间吗?

0 投票
2 回答
1245 浏览

sdl - SDL_SetVideoMode 与 SDL_CreateRGBSurface

对于 SDL 专家来说应该是一个简单的问题。我对以下两个看似等效的功能感到困惑,想知道何时使用哪个

以上两者的根本区别是什么?

这里提到SDL_CreateRGBSurface 必须在 SDL_SetVideoMode之后调用。为什么呢?

0 投票
1 回答
899 浏览

c++ - SDL_DisplayFormat 有效,但 SDL_DisplayFormatAlpha 无效

以下代码旨在在黑色背景上显示一个绿色方块。它执行,但绿色方块没有出现。但是,如果我更改SDL_DisplayFormatAlphaSDL_DisplayFormat正方形,则会正确呈现。

那我有什么不明白的?在我看来,我正在*surface使用 alpha 蒙版进行创建,并且正在使用SDL_MapRGBA映射我的绿色,因此使用起来也是一致的SDL_DisplayFormatAlpha

(为了清楚起见,我删除了错误检查,但在此示例中没有任何 SDL API 调用失败。)

0 投票
0 回答
504 浏览

haskell - 在 MinGW 中使用 cabal 编译 SDL

我正在尝试在 MinGW 中为 Haskell 的 cabal 安装 SDL,但我遇到了一些问题。cabal 找不到 C 库,我也不知道为什么。这里有一些信息:

  • 我已经下载了 SDL1.2 的开发库和运行时库;
  • 对于开发版本,我make native它:它安装在/usr/include/SDLand /usr/lib;
  • 我试过了cabal install SDL,它失败了,因为它找不到头文件和lib;
  • 然后,我再试一次cabal install SDL --extra-include-dirs=/usr/include/SDL --extra-lib-dirs=/usr/lib。它找到了头文件,但仍然没有找到 lib ;
  • 我把运行库复制SDL.dll进去了/usr/lib,还是一样的麻烦;
  • 最后,我添加/usr/libPATHand LD_LIBRARY_PATH,仍然找不到 @!#* C lib。

你有想法吗?

0 投票
1 回答
816 浏览

c++ - SDL 程序在关闭时崩溃 - c0000005?

试图只做一个简单的程序来显示加载到系统中的图片。如果我输入一个在目录中找不到的图像名称,它会返回并且错误说它还没有找到,但是在此之后当我返回 0 时出于某种原因;在主要内部,我崩溃了。

我找不到解决它的方法。对我做错了什么有帮助吗?

编辑:编译器告诉我这个 -

在“调用堆栈”中,它在线

编辑 2:LoadImage() 函数 -

0 投票
3 回答
122 浏览

c++ - 在函数中绘制图像

我想在按下空格键时绘制图像。这是我的代码:

这里叫做:

按空格键时未绘制图像。怎么了?

0 投票
1 回答
290 浏览

class - SDL 没有将我的图像传送到缓冲区

因此,我在学习 SDL 的同时正在构建一个迷你引擎,并且在将 blitting 到缓冲区然后翻转它时一直遇到问题。你,不管我做什么,屏幕都是黑的。你们能帮我吗?

我有两个类:Graphics 类和 System 类,它们一起工作以 blit 图像。Graphics 类有一套通用函数,System 使用这些函数。System 有一个 Graphics 对象作为它的变量之一,所有的图形渲染都是通过它进行的。我哪里错了?屏幕根本不会将我的图像粘贴到缓冲区上:(

//图形.h

//图形.cpp

//系统.h

// 系统.cpp

//main.cpp

0 投票
0 回答
1043 浏览

c++ - 带有 sdl 库和 c++ 的简单移动对象

我用 SDL 和 c++ 开发了游戏“mario bross”来简化事情,我有两个矩形,我必须改变其中一个坐标,其中一个向上三步(-3),三步向下(+3),这两个矩形经历碰撞。

问题是当两个矩形发生碰撞时,其中一个向上移动(-3)但它不向下移动(+3)我重定向矩形的坐标它上下变化但它只呈现向上移动。

0 投票
3 回答
3209 浏览

c++ - C++ SDL Segmentation fault (core dumped)

I'm currently learning to code on SDL while using C++ as my base programming language.

So basically, what happens is, I have a piece of code with a loop in it, which will display an image till the loop starts again. The loop is 5 seconds long and the program has an iterator i set to 0 which increases with each loop until it gets to five, when it exits the loop via break. Then SDL quits as expected and the program is done running.

There are no compilation errors, just FYI. When I run the program, the main loop is run one single time and then the programs appears to close it self, printing on my Terminal window a message that says "Segmentation fault (core dumped)".

What does this mean, and what can be done to not make it happen? Thanks in advanced.

EDIT: The code is this one, sorry for not having written before. I'm writing it by memory as I'm currently not at home.

EDIT 2: The previous if (i=5) was a typographical and has been corrected.

EDIT 3: I've arrived home and checked my code. I didn't type if (i=5) , so I'm happy cause that's quite a stupid error. I've also tried lowering the window's size with no success, so we are back to the main problem. Also, I've tried removing the loop, and it the program is run and at the time of closing gives a segfault, so it's not the loop's fault at least. But this is a bigger problem now. BTW, I'll post the real compiled code, because the one before was written by memory.

I just hope this is only happenning to me cause it's a pretty messed up thing to fix. Peace, fellows.