问题标签 [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.
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 论坛上发帖之前,我想确认一下我的继承树是否真的正确。
c++ - 读取套接字有线问题 - 在消息中添加一些有线字符
例如,当我发送“1234”时,使用 SFML 库的 C++ 服务器读取“1234╠╠╠╠╤lσ╝╝√=♦↑עσ”。从 C++ SFML clinet 发送到服务器时,一切正常。用 Onj-c 编写的带有 Async Socket 库的原始客户端。怎么回事?(所有 TCP)
c++ - SFML Sprite 在第二个滴答声中剧烈向下移动
我正在开发一个 SFML 游戏,由于某种原因,在生成玩家之后,玩家被传送了下来。在第一个滴答声中,他的位置正确,但在病房之后,他被向下移动。关于如何诊断这个问题的任何想法?我在移动机制中设置了断点,这是玩家坐标发生变化的唯一地方,并且似乎在函数结束后立即发生。这是主要功能:
Mainch.move(t):
.net - SFML 全屏文本编辑器
我正在尝试创建一个全屏简约文本编辑器(简约我的意思是只有一个闪烁的插入符号,黑色背景,通过箭头控制键盘来移动文本,退格删除等,就是这样)。我创建了一个 RenderWindow,我有一个用于文本的全局字符串缓冲区,我正在使用 String2D 类在屏幕上将其可视化(我正在使用 VC2010 和SFML .NET 包在 C# 中开发它)。
基本上我所做的是捕捉击键,检查它们是否来自字母、数字或任何其他对书写有用的书面符号,并从使用 RenderWindow 的绘图在屏幕上永久可视化的字符串缓冲区中添加或减去它们。
现在的问题是,如何实现由箭头控制的正确插入符号移动。如果有人想使用向下/向上/向左/向右箭头在整个文本屏幕上移动。对于一行文本中的左/右移动很容易,可以实现一个计数器来知道我应该在哪个字符之后渲染插入符号。尽管如此,最终我将不得不在屏幕结束的地方换行,然后是什么,如果有人想向下或向上排列,我如何正确“发现”在哪里呈现插入符号,以及如何知道它在字符串中的哪个位置,因为有人之后可以添加或删除部分文本。或者也许我的方法完全错误?请指教。
c++ - 窗口拒绝渲染
我最近开始尝试使用 SFML。由于某种原因,我的简单程序不会呈现窗口。我尝试将所有内容都放入 main 中,以查看我的代码中是否存在与多个文件等有关的错误,但无济于事。
我将启动我的程序,什么都不会出现。
有什么问题?
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 应用程序窗口,或者我喜欢称之为“固定”窗口。
我的问题是什么?
c++ - SFML 添加到 sf::String?
所以我最近一直在使用 SFML,我想知道如何“添加”到 sf::String。
例如:
结果:“我说:废话”
c++ - SFML 白窗
出于某种奇怪的原因,我的 SFML 程序在我将鼠标悬停在它上面之前不会渲染任何东西,或者按下一个键或执行任何符合事件的操作。
我该如何解决?
c++ - 精灵运动
我正在为这个扯掉我的头发。出于某种奇怪的原因,我无法找到/想到如何在 SFML 和/或 SDL 中移动精灵。我为这两个库查看的教程对此一无所知。所以我认为它更像是一个 C++ 的东西而不是一个库的东西。
所以我想知道;你如何移动精灵?
(当我说移动时,我的意思是让精灵以设定的速度“滑过”窗口)
c++ - C ++从向量中的类返回精灵对象
我有一个实体基类,其中类 Player 和 Enemy 继承。玩家和敌人都包含一个精灵对象(来自 SFML api),如下所示:
Player 和 Enemy 是在一个向量中创建的,该向量的设置如下:
我正在寻找使用这种形式的碰撞检测功能:
所以我正在尝试做这样的事情:
但我得到这个编译错误:
错误:请求成员“精灵”
'((EntityManager*)this)->EntityManager::entityVector.std::vector<_Tp, _Alloc>::operator[] with _Tp = Entity*, _Alloc = std::allocator',属于非类类型'实体*'</p>
如何将向量内这些类的精灵对象传递给碰撞函数?