问题标签 [sfml]

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 回答
372 浏览

qt - How to map controls to physical keyboard locations

I've been wanting to create a game engine, but I want to sort out some issues such as how to do controls. Is it possible to map controls to the physical locations on the keyboard as opposed to the individual keys themselves?

I would like to do this because I think that simply configuring to controls like "W" for up and "S" for down is a nuisance for anyone who isn't using qwerty and needs to reconfigure to the locations intended by the creators of a game, which would include Dvorak users like myself or anyone who just decides to change the system default.

I'll probably be using C++ with Boost, SFML and Qt if that matters.

0 投票
2 回答
4363 浏览

c++ - 静态和动态库

我正在使用 SFML,并且正在 Code::Blocks 和 mingw32 中构建应用程序。我已将 SFML 库 (sfml-whatever.a) 添加到我的项目中,并且运行良好。

但是 iIrc,静态库被“编译”成可执行文件。如果是这样,那么为什么我必须将所有 SFML DLL 放在可执行文件旁边,以便它在 Code::Blocks 之外的任何地方运行?如果我要以某种方式将 DLL 从 Code::Blocks 中“动态链接”到我的项目,(我不知道该怎么做),我是否仍然需要为我的可执行文件提供所有 .a 文件正常运行?

在此先感谢,我对静态或动态库不太熟悉。如果有什么不同,我正在使用 Ubuntu linux,并且我正在使用 mingw32 进行交叉编译。

0 投票
1 回答
195 浏览

c++ - 链接到链接到库的库

我正在尝试链接cpgui到我的库,该库链接到SFML. 我使用code::blocks所以我必须为该库创建自己的项目,并且因为它需要SFML我静态链接到SFML该库并编译它。

现在,当我尝试将该库静态链接到我的库时,我会在编译项目时得到一堆未定义的引用。SFML即使我SFML在两个项目中都链接到,发生了什么?

0 投票
1 回答
1371 浏览

linux - 编译错误

我正在尝试编译一个我用 SFML 制作的小游戏,但每当我这样做时,我都会收到此错误:

/usr/local/include/SFML/Window/OpenGL.hpp:48:24:致命错误:GL/glu.h:没有这样的文件或目录

当然,我的第一个想法是我忘了安装 opengl 库,但是当我 yum install mesa-libGLU 时,我得到了这个:

软件包 mesa-libGLU-7.11-0.11.20110525.0.fc15.x86_64 已安装且最新版本

所以我不确定下一步该怎么做。

0 投票
1 回答
4053 浏览

performance - OpenGL + SFML 还是 SDL?

嘿,所以我就像一天前一样刚刚开始 SDL,因为我计划最终进入 OpenGL,但最近研究了 SFML,它显然更现代和更容易。我没有听说过任何关于 SFML 的书,也没有看过任何关于它的书,而且我听说人们说 OpenGL+ SDL 非常好。将 SFML 与 OpenGL 一起使用是否也是如此?

0 投票
1 回答
1120 浏览

xcode - XCode 和 SFML - 在哪里放置模板?

我已经尝试为 XCode 安装 SFML 好几天了,但我就是做错了。我已经阅读了多个教程,但似乎都没有针对最新版本的 XCode 进行更新。我下载了 SFML 的 32/64 位版本并将库复制到适当的文件夹(存在)。但是,当我要安装项目模板时,官方教程中提到的文件夹不存在。我尝试了不同的文件夹,但它不起作用。

“但是,为了更方便地使用 SFML,我们还提供了 Xcode 的项目模板。要使用它们,请从 SFML-xy/build/xcode/ 复制“SFML Window-based Application”和“SFML Graphics-based Application”目录模板到“/Developer/Library/Xcode/Project Templates/Application”,以及“SFML Tool”目录到“/Developer/Library/Xcode/Project Templates/Command Line Utility”

在我的 Xcode 文件夹中有一个“模板”文件夹,在“项目模板”和“文件模板”下面。在每个文件夹下都有一个“Mac”和“Base”文件夹,然后是大量不同的文件夹。

谁能帮我解决这个问题?

0 投票
4 回答
3033 浏览

c++ - SFML 传递渲染窗口

我正在尝试使用SFML制作游戏。

我正在制作一个 sf::RenderWindow 但是当我尝试将窗口传递给另一个类时它失败了。我无法访问窗口。因为我认为创建一个单独的类来处理“关闭窗口”等事件是很好的,但是我无法访问它。我怎样才能解决这个问题?

0 投票
1 回答
243 浏览

c++ - 简单的 SFML/C++ 问题,对文字字符串和静态成员感到困惑

我对http://www.sfml-dev.org/tutorials/1.6/graphics-sprite.php上的代码有点困惑

即底部详细说明“导弹”类的代码:

我正在尝试使用“Init”将文件加载到类的私有图像成员中。我正在尝试这样做:

然后继续声明该类的对象。然而,我越来越长,冗长的错误让我认为我不应该在那里放一个字符串,或者我错过了一些基本的东西。我对 C++ 有点陌生,所以语法仍然让我感到困惑,我已经看了很长时间,但无法弄清楚。我试过调用指针等,但我真的不知道下一步该做什么。

编辑:我得到的错误是:

main.o: 在函数 Ship::Init(std::basic_string, std::allocator > const&): main.cpp:(.text._ZN4Ship4InitERKSs[Ship::Init(std::basic_string, std::allocator > const&) )]+0x10):对 Ship::Image 的未定义引用 main.o:在函数 Ship::Ship():main.cpp:(.text._ZN4ShipC2Ev[_ZN4ShipC5Ev]+0x19):对 Ship::Image 的未定义引用

0 投票
2 回答
10094 浏览

c++ - 在没有活动异常的情况下调用线程终止

我一直在为游戏进行线程网络,但是服务器随机死机,而我一直在测试网络,以便我有几个客户端连接并发送一堆数据包并断开连接然后再次连接。

我正在使用带有 SFML/网络和 SFML/系统线程的 c++。我有一个线程,一旦建立连接,它就会在服务器中侦听连接,它会创建两个新线程来发送和接收数据包。事件处理程序和发送/接收线程与两个 std::queue 共享数据。我一直在尝试使用 gdb 调试崩溃,但我对此没有那么经验,所以我正在寻求帮助。

这是崩溃发生时的 gdb 控制台输入。

这是回溯:

这是来自 src/layer7.cpp 的线程代码

  • 第 40 行是 while(running) 之后的第一个 if 关键字。
  • data->pipe_out->pipe_empty() 调用 queue->empty()
  • data->pipe_out->pop_message() 是从队列中弹出前面的调用。
  • 然后它发送数据包并检查连接是否没有断开
  • 如果套接字断开连接,它将终止“in”线程并停止自己的线程。
0 投票
1 回答
1783 浏览

multithreading - SFML教程1:线程问题

嗨所以我正在使用 msVS++2010 并且整天都在尝试设置 SFML.... 我从网站下载了 1.6,然后在 VS2010 中重建它,但遗憾地发现这并没有导致 sfml 系统-d.lib 文件,这是我习惯使用的,并且只生成了新的 system-s 和 system-sd 库。

然后我仔细观看了这个视频,发现他通过添加 sfml-system-sd 的外部库来运行他的测试代码,所以我在 .exe 旁边添加了 sfml-system-d.dll 并得到了以下与视频完全相同的代码显示工作:

显然时钟和睡眠正在工作,但是当我添加简单的代码行'sf::Thread thread();' 弹出一个错误框,显示“无法启动程序”、“配置不正确”、“查看清单文件是否存在可能的错误”、“正在重新安装我的修复程序”。

另外:当尝试运行关于线程的教程的第一个程序时:

我得到了 8 个未解决的外部符号,如下所示:

最后这是我的项目的设置方式:

  • 开箱即用的包含目录,新下载的 SFML 1.6/include
  • lib 目录到 VS2010 重建的 SFML(调试/发布 DLL 设置,和静态)。
  • 对 sfml-system-sd.lib 文件的额外依赖。
  • 出于沮丧,我将每个 dll 文件放在 .exe 旁边