问题标签 [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 投票
2 回答
3453 浏览

c++ - 如何编辑 SFML 源代码以添加新的可绘制对象?

嘿,我正在研究一个名为“Body”的类,它将形状和精灵作为一个对象保存在一起。我想进入源代码并添加一个新的重载RenderWindow的Draw()函数,这样这个新对象就可以很容易地被吸收和绘制。我该怎么做呢?

我目前正在使用

  • Windows 7的
  • SFML 1.6
  • 新的 msVS++ 2010 编译的静态调试库和 dll
  • 原始包含文件夹

编辑:

我还在 Drawable.hpp 标头中找到了这个:

但我不知道每个函数的完整代码在哪里,只是声明。不幸的是,我也没有在那里找到迷你教程......

0 投票
3 回答
230 浏览

c++ - 仅接受来自特定 IP 的套接字

我的游戏服务器现在接受每个人的套接字。但是我怎样才能阻止特定的 IP 受到攻击呢?你知道,如果他们想让我的服务器崩溃什么的。我正在使用 SFML 库,C++。

0 投票
1 回答
580 浏览

c++ - 我在 SFML 中的“body”类:它如何自行正确旋转成员形状?

嘿,所以我创建了一个“body”类,它继承自 SFML 中的 sf::drawable,它将形状组合在一起,这样我就可以形成更复杂的形状和图形。我发现我必须在渲染时对每个单独的成员形状进行一些更新,基于自上次渲染以来身体整体发生的情况。

这包括:

  • 回转
  • 翻译
  • 缩放

我想我必须手动编写代码来考虑可能发生在整个身体上的这些变化,所以形状位置是正确的。然而,在对旋转部分进行编码时,我在编写手动代码后发现,即使我让 Bodies Render() 函数只迭代并渲染每个形状而不更改它们,它们无论如何还是以正确的方向出现了。怎么会这样?

我注释掉了我写的显然不需要的代码,我使用 Draw() 函数进行渲染。请向我解释我自己的代码!(天哪,我感觉迟钝)。

这是课程:

0 投票
0 回答
233 浏览

c# - OGRE3D 窗口关闭上的 FatalExecutionEngineError

我正在使用 MOGRE,一个 OGRE3D 的 C# 绑定。我创建了自己的渲染循环,并使用 WindowEventUtilities.MessagePump() 来更新窗口。

这是我的主要应用程序循环:

当我在 WindowEventUtilities.MessagePump(); 关闭 OGREWin 时,我仍然收到“FatalExecutionError”代码。try/catch 语句没有捕获任何东西,我无法在 WindowEventUtilities.MessagePump() 周围实现任何 if 语句来解决这种情况。我真的很困惑该怎么做。

我在 MOGRE 板上发布了一个主题,但尚未找到解决方案。

0 投票
1 回答
2432 浏览

c++ - 尝试在 OpenGL/SFML 中实现鼠标外观“相机”

一段时间以来,我一直在使用带有 SFML 1.6 的 OpenGL,这真是太棒了!除了一个例外:我似乎无法正确实现相机类。你看,我正在尝试创建一个名为“Camera”的 C++ 类。这是我的功能:

Camera::Strafe(float fSpeed)

检查是否按下了 WASD 键,如果是,则以“fSpeed”在它们各自的方向上移动相机。

Camera::MouseMove(int currentX, int currentY)

应该提供第一人称鼠标外观,获取当前鼠标坐标并相应地旋转相机。我的 Strafe() 实现工作正常,但我似乎无法让 MouseMove() 正确。

通过阅读有关 OpenGL 鼠标外观实现的其他资源,我已经知道我必须在每一帧之后将鼠标居中,并且我将那部分放在了下方。但仅此而已。我似乎无法从鼠标坐标中获得如何在现场实际旋转相机。我敢打赌,可能需要使用一些触发器。

0 投票
5 回答
5536 浏览

c++ - 如何从凸形中形成凹形?

我试图绕过只能在 SFML c++ 库中形成凸形的规则。

为此,我计划测试给定的顶点,如果是凹的,则将顶点分成组,测试每个组的凹度,并重复直到一组完整的凹形结果看起来就像放在一起时的原始形状

我想知道的是...

  • 测试形状凹度的方程式是:它是什么以及它是如何工作的?

  • 我将如何分割凹形的顶点,以便最终由尽可能少的凸形形成形状?

  • 实现我的目标的最佳实践是什么?

谢谢!


0 投票
1 回答
1095 浏览

c++ - How to form Concave shapes from convex pieces Confusion

Hey so i was told in a previous answer that to make concave shapes out of multiple convex ones i do the following:

If you don't have a convex hull, perform a package wrapping algorithm to get a convex border that encompasses all your points (again quite fast). en.wikipedia.org/wiki/Gift_wrapping_algorithm

Choose a point that is on the boarder as a starter point for the algorithm.


Now, itterate through the following points that are on your shape, but aren't on the convex border. When one is found, create a new shape with the vertices from the starter point to the found non-border point. Finally set the starter point to be the the found off-border point

Recursion is now your friend: do the exact same process on each new sub-shape you make.


I'm confused on one thing though. What do you do when two vertices in a row are off-border? After reaching the first one you connect the starter point to it, but then you immediatly run into another off-border point after you start itterating again, leaving you with only 2 vertices to work with: the starter point and new off-border point. What am i missing?

To illustrate my problem, here's a shape pertaining to this issue: It would be great if someone could draw all over it and walk through the steps of the algorithm using this. And using point 1 as the starting point.

enter image description here

Thanks!

0 投票
1 回答
1165 浏览

c# - C# SFML OpenGL 多重纹理问题

编辑:好的,这段代码仍然不允许我在程序中使用两种不同的纹理。它看起来应该可以工作,但是当我告诉它使用第一个纹理时,它与第二个纹理相同,这是加载的最后一个纹理。

任何帮助都是极好的。

0 投票
2 回答
820 浏览

c# - SFML 3D 鼠标外观

Edit2:我解决了大部分问题,但我有一个烦恼。当光标到达屏幕边缘并被拉到另一侧时,相机会抖动,这将不起作用。有人能看到如何阻止吗?

0 投票
1 回答
187 浏览

c++ - 如何在不根据相机移动移动或调整其大小的情况下将 GUI 保持在屏幕上

嘿,我正在尝试使用 SFML 制作一个 GUI 库,除了一个问题外,一切都已完成:即使相机移动或放大,也使界面保持静止。

如果无法进行缩放,这将很容易解决,但缩小意味着将界面的内容放大,这会导致其文本/图像变得模糊

有没有人有办法解决这个问题?最好只使用 SFML,但如果我必须添加 OpenGL 的东西......)