所以,我用C++/SFML完成了一个游戏,我想将它发送给某人,但是当我发送它时出现错误:我在另一台计算机上测试了需要SFMLDLL的exe,它告诉我libstdc++-缺少6.dll,所以我添加了它,然后再次尝试,它告诉我还缺少其他dll,这很尴尬。我如何才能在没有所有这些错误和丢失DLL的情况下共享我的游戏? 最佳答案 你可以使用DependencyWalker(depends.exe)来查找您的应用程序正在使用的所有dll-s。它仍然需要一些反复试验来发现你需要的,但至少你有一个可以开始的地方。您很可能需要编译器提供的dll和您
我正在尝试使用OpenGLVBO,但是与其使用相关的函数,glGenBuffersARB()例如,都是未定义的。立即模式功能当然可以,只有这些。我正在使用VS2010,带有SFML图书馆。该库中的包含header之一包括和,可执行文件链接到glu32.lib和opengl32.lib为什么只缺少这些功能,我如何才能包括它们的使用? 最佳答案 GLEW将定义它们,其他GL扩展库也是如此。可在此处找到信息:http://www.opengl.org/resources/features/OGLextensions/Usinganexte
我目前正在学习SFML,我的程序中有这段代码:if(!texture.loadFromFile("Textures/plane.png")){std::cout我在文件夹Textures中有文件plane.png,它与可执行文件位于同一文件夹中。当我通过Windows资源管理器运行可执行文件时,纹理加载没有任何问题,但是当我在VS中以调试方式运行它时,我得到以下输出:Failedtoloadimage"Textures/plane.png".Reason:UnabletoopenfileErrorloadingtextureplane.png第一行来自SFML,第二行来self的程序。
假设我有4张图像,我想使用这4张图像来制作角色动画。这4个图像代表行走的角色。我希望动画在我按下移动键时自动重复,但在我松开它时立即停止。如果您不知道它,则不需要特定于SFML,只要基本理论就能真正帮助我。谢谢。 最佳答案 您可能需要某种简单的状态机。当按键按下时(参见sf::Input'sIsKeyDownmethod),让角色处于“动画”状态。当键未按下时,使角色处于“非动画”状态。当然,您始终可以跳过这种“状态”,只执行我在下面提到的操作(具体取决于您在做什么)。然后,如果角色处于“动画”状态,则获取下一个“图像”(有关详细信
背景资料:我和几个friend在ochsfml和box2d的帮助下用C++构建这个平台游戏用于学校作业。其中一项要求是我们遵循“MVC模式”。我们为模型创建了Bullet和Character类。以及BulletView和CharacterView(都继承了抽象类sf::Drawable)作为View。与其重复绘图代码,不如像这样使用drawBullets和drawCharacter两种方法voidWorldView::drawBullets(){std::vector::iteratorit;for(it=bullets.begin();itdraw(**it);}voidWorldV
所以我正在创建一个图形计算器。我有一个输入字符串s。从字符串中,我可以使用SFML对其进行绘图。我从MINx坐标到MAXx坐标开始,从EvaluateString()方法获取相应的y,然后将所有坐标发送到VertexArrayv。我已经编写了我的方法和绘图方法,它们都运行良好.但是,我有一个小问题。我想在屏幕上输入我的字符串,比如这样的“sin(cos(tan(x)))”。我正在努力寻找一种方法来做到这一点。我有点想通了它与事件TextEntered有关,但我仍然无法完全找到任何东西。请给我一个方法。classCalculator{public:voidmain();private:W
好吧,我尝试按照tutorial中所示进行所有操作,但它只显示控制台,仅此而已。试过这个时钟程序,它工作得很好。我连接了所有库,并复制了所有.dll文件,所以真的不知道我哪里错了。请告诉我如何显示让它显示窗口。我正在使用VS2010、SFML1.6,这是我的代码。#includeintmain(){sf::WindowApp(sf::VideoMode(640,480,32),"wut");while(App.IsOpened()){sf::EventEvent;while(App.GetEvent(Event)){//Windowclosedif(Event.Type==sf::Ev
目前我有这个player.cpp类,我正在使用我的Sprite动画。我正在使用计数器来更新每一帧。它有动画,但它在动画中飞来飞去。我想放慢速度。我找到了可用于减慢sprite动画的代码,但我不确定如何将其实现到我当前的程序中。下面是我的player.cpp文件,后面是我发现可以减慢Sprite动画速度的代码。当我尝试向counterWalking++添加时钟时,它根本没有动画,我已经尝试实现此代码以达到相同的效果。player::player(){rect.setSize(sf::Vector2f(32,32));rect.setFillColor(sf::Color::White);
我在做一个项目SFML/C++,我需要生成一个图来连接它们之间的障碍物以方便寻路,所以我有兴趣生成一个导航网格,我将应用boostA*算法。有点像这样:但是我在使用BoostGraphLibrary实现它时遇到了很多问题(如果您有一个更合适的库,我很感兴趣)。首先,我创建一个具有适当结构的adjacency_list:structWayPoint{sf::Vector2fpos;};structWayPointConnection{floatdist;};typedefboost::adjacency_listWayPointGraph;typedefWayPointGraph::ve
我正在使用SFML2.3来控制程序中的图形。我需要一个类才能访问窗口,即使该类不是最初创建窗口的类(没有所有权)也可以绘制它。例如。Battle类需要能够绘制战斗场景并在那里操作角色,但是World类需要在Battle之前和之后的窗口来显示玩家在主游戏中的Action。应该如何处理窗口对象?我最初的想法是拥有一个将窗口作为静态成员的GameMaster类。但是我认为最好检查一下通常的共识是什么,而不是错误地使用这种方法。我意识到我总是可以将对窗口的引用传递给需要它的每个类,但这会使所有需要操作窗口的类的构造函数变得非常臃肿。 最佳答案