问题标签 [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.
sfml - 使用 SFML 我应该注意哪些问题和问题?
一段时间以来,我一直在使用 SDL 来制作小东西的原型并了解有关图形编程的更多信息。
然后我看到了SFML并想尝试一下,发现它更面向对象,并修复了我认为 SDL 存在的一些问题。
但是由于我对图书馆本身知之甚少,我应该注意它的主要缺陷和其他问题是什么?
目前我很喜欢它,好的教程和大多数东西似乎都可以工作。
frame-rate - 赛车游戏,汽车在更快的计算机上移动得更快
我理解它为什么会这样做,但我真的不知道如何防止这种情况。所以场景是,每一帧我都会将汽车移动一定的预定义像素。当我使用慢速或更快的计算机时会发生什么......好吧,我每秒获得的帧数更少或更多,因此汽车移动得更慢或更快。我想知道如何防止这种情况发生。
我怀疑使用任何库我都会遇到同样的问题......这是我第一次做这样的实时事情。
c++ - SFML 发布资源
我最近开始使用 SFML,并注意到没有提供任何类型的“FreeResource”方法。例如,sf::Font
有一个名为 的函数LoadFromFile
,但没有释放资源的函数。
我觉得这很奇怪。我错过了什么吗?我唯一的选择是创建sf::Font
指针并动态分配和删除它吗?
c++ - SFML SetFramerateLimit 不限制帧率
编译器:Visual C++ 操作系统:Windows 7 Enterprise
出于某种原因,Window::SetFramerateLimit
它并没有限制我正在开发的应用程序中的帧速率,但对其他人来说效果很好。帧率上限为 60,但我的帧率在 100-99 左右跳跃,然后有时会下降到 50。它实际上会导致严重的问题。例如,如果我在屏幕上创建许多对象,我会看到性能受到严重影响,而其他人则报告没有变化。
关于为什么会发生这种情况的任何想法?如果您需要更多信息,我很乐意提供帮助。
谢谢。
PS 我有充分的理由相信这不仅仅是“他们的硬件比你的更强大”的情况。
c++ - 可以按时添加的倒数计时器算法
我正在制作一个通用计时器,它具有从 0 向上计数或从某个数字向下计数的功能。我还希望它允许用户增加和减少时间。一切都很容易实现,除了计时器从某个数字开始倒计时,并且用户从中添加或减去时间的情况。
例如:(m_clock 是 SFML 的 Clock 的一个实例)
为了更清楚一点,假设计时器从 100 开始倒计时。10 秒后,上面的函数看起来像100 -= 100 - 100 + 10
which equals 90
。如果它在 20 秒后被调用,它看起来就像90 -= 90 - 100 + 30
which equals 70
。
这适用于正常计数,但如果用户调用 AddTime() (只是 m_elapsedTime += arg ),则向后计数的算法会惨遭失败。
我知道我可以使用更多成员并跟踪以前的时间等来做到这一点,但我想知道我是否遗漏了一些非常明显的实现。我希望在单个操作中使其尽可能简单。
c++ - 如何在 SFML 中为精灵设置动画
假设我有 4 张图像,我想使用这 4 张图像为角色设置动画。4 个图像代表角色行走。我希望动画在我按下键移动时重复自己,但在我松开它时停止。如果你不知道,它不需要是特定于 SFML 的,只是基本理论会对我有帮助。
谢谢你。
c++ - SFML 等离子精灵效果?
有没有办法在 SFML 中创建等离子效果,不会让我的帧速率变慢?
c++ - Qt Creator / QMake 链接器库
我正在使用 SFML,我想结合使用 Qt Creator。当我手动编译时,我向链接器提供以下参数-lsfmlsystem -lsfmlwindow
。
如果我使用 Qt Creator 和(我认为)QMake,我该怎么做?
c++ - “无法初始化应用程序 0xc000005”
我为 SFML 编写了一个包装器,如果需要,我可以替换我的游戏的渲染器。有效。然后我进行了重构,虽然它仍然可以编译,但在运行编译后的可执行文件时,我现在得到“无法初始化应用程序 0xc000005”。
什么会导致这样的错误?谷歌没有帮助。我正在使用 Windows XP。