问题标签 [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 回答
267 浏览

c++ - 关于我的游戏中的继承问题

我有一个派生自 Humanoid 的 Player 类,而 Humanoid 派生自 Sprite 就像这样

到现在为止还挺好。Sprite 有虚方法

其中 sprite 是可以绘制到屏幕上的图像对象。

人形机器人宣布virtual sf::Sprite getSprite();

玩家定义virtual sf::Sprite getSprite() { return sprite_; }

Sprite 有一个成员sprite_;这就是我想要做的:

1)像这样传递一个精灵时创建一个玩家类

2)像这样从我的游戏类在屏幕上绘制它

测试程序,发现player->getSprite()确实调用了该方法,但我担心我可能隐藏了该Sprite::getSprite()方法,而不是实际导出和使用它。由于 Sprite 类有一个受保护的 sprite_ 成员,所以当我调用该函数时,我对实际返回的是哪个 sprite_ 对象感到困惑。

此外,图像文件似乎在某处丢失了,在我在 SFML 论坛上发帖之前,我想确认一下我的继承树是否真的正确。

0 投票
4 回答
96 浏览

c++ - 读取套接字有线问题 - 在消息中添加一些有线字符

例如,当我发送“1234”时,使用 SFML 库的 C++ 服务器读取“1234╠╠╠╠╤lσ╝╝√=♦↑עσ”。从 C++ SFML clinet 发送到服务器时,一切正常。用 Onj-c 编写的带有 Async Socket 库的原始客户端。怎么回事?(所有 TCP)

0 投票
2 回答
874 浏览

c++ - SFML Sprite 在第二个滴答声中剧烈向下移动

我正在开发一个 SFML 游戏,由于某种原因,在生成玩家之后,玩家被传送了下来。在第一个滴答声中,他的位置正确,但在病房之后,他被向下移动。关于如何诊断这个问题的任何想法?我在移动机制中设置了断点,这是玩家坐标发生变化的唯一地方,并且似乎在函数结束后立即发生。这是主要功能:

Mainch.move(t):

0 投票
1 回答
790 浏览

.net - SFML 全屏文本编辑器

我正在尝试创建一个全屏简约文本编辑器(简约我的意思是只有一个闪烁的插入符号,黑色背景,通过箭头控制键盘来移动文本,退格删除等,就是这样)。我创建了一个 RenderWindow,我有一个用于文本的全局字符串缓冲区,我正在使用 String2D 类在屏幕上将其可视化(我正在使用 VC2010 和SFML .NET 包在 C# 中开发它)。

基本上我所做的是捕捉击键,检查它们是否来自字母、数字或任何其他对书写有用的书面符号,并从使用 RenderWindow 的绘图在屏幕上永久可视化的字符串缓冲区中添加或减去它们。

现在的问题是,如何实现由箭头控制的正确插入符号移动。如果有人想使用向下/向上/向左/向右箭头在整个文本屏幕上移动。对于一行文本中的左/右移动很容易,可以实现一个计数器来知道我应该在哪个字符之后渲染插入符号。尽管如此,最终我将不得不在屏幕结束的地方换行,然后是什么,如果有人想向下或向上排列,我如何正确“发现”在哪里呈现插入符号,以及如何知道它在字符串中的哪个位置,因为有人之后可以添加或删除部分文本。或者也许我的方法完全错误?请指教。

0 投票
1 回答
1077 浏览

c++ - 窗口拒绝渲染

我最近开始尝试使用 SFML。由于某种原因,我的简单程序不会呈现窗口。我尝试将所有内容都放入 main 中,以查看我的代码中是否存在与多个文件等有关的错误,但无济于事。

我将启动我的程序,什么都不会出现。

有什么问题?

0 投票
3 回答
2686 浏览

c++ - 找不到程序入口点?

由于某些奇怪的原因,当我尝试在 SFML 中呈现一个简单的窗口时,我在使用 Visual C++ 2010 时遇到了一个奇怪的错误:The procedure entry point ??()VideoMode@sf@@QAE@III@Z could not be located in the dynamic link library sfml-window.dll

使用 Code::Blocks 时,我完全没有错误。但问题似乎是一样的。

然而,关键是我仍然没有 SFML 应用程序窗口,或者我喜欢称之为“固定”窗口。

我的问题是什么?

0 投票
2 回答
2985 浏览

c++ - SFML 添加到 sf::String?

所以我最近一直在使用 SFML,我想知道如何“添加”到 sf::String。

例如:

结果:“我说:废话”

0 投票
1 回答
746 浏览

c++ - SFML 白窗

出于某种奇怪的原因,我的 SFML 程序在我将鼠标悬停在它上面之前不会渲染任何东西,或者按下一个键或执行任何符合事件的操作。

我该如何解决?

0 投票
2 回答
2424 浏览

c++ - 精灵运动

我正在为这个扯掉我的头发。出于某种奇怪的原因,我无法找到/想到如何在 SFML 和/或 SDL 中移动精灵。我为这两个库查看的教程对此一无所知。所以我认为它更像是一个 C++ 的东西而不是一个库的东西。

所以我想知道;你如何移动精灵?

(当我说移动时,我的意思是让精灵以设定的速度“滑过”窗口)

0 投票
1 回答
1179 浏览

c++ - C ++从向量中的类返回精灵对象

我有一个实体基类,其中类 Player 和 Enemy 继承。玩家和敌人都包含一个精灵对象(来自 SFML api),如下所示:

Player 和 Enemy 是在一个向量中创建的,该向量的设置如下:

我正在寻找使用这种形式的碰撞检测功能:

所以我正在尝试做这样的事情:

但我得到这个编译错误:

错误:请求成员“精灵”

'((EntityManager*)this)->EntityManager::entityVector.std::vector<_Tp, _Alloc>::operator[] with _Tp = Entity*, _Alloc = std::allocator',属于非类类型'实体*'</p>

如何将向量内这些类的精灵对象传递给碰撞函数?