C++ C++;sfml在窗口打开后立即接收关闭事件
不过,由于某种原因,我的应用程序似乎在我的程序进入事件循环时就开始校准关闭事件 这是我的密码C++ C++;sfml在窗口打开后立即接收关闭事件,c++,xcode,sfml,C++,Xcode,Sfml,不过,由于某种原因,我的应用程序似乎在我的程序进入事件循环时就开始校准关闭事件 这是我的密码 #include <SFML/Graphics.hpp> #include <iostream> // Here is a small helper for you ! Have a look. #include "ResourcePath.hpp" int main() { sf::RenderWindow Window(sf::VideoMode(500,400),"SF
#include <SFML/Graphics.hpp>
#include <iostream>
// Here is a small helper for you ! Have a look.
#include "ResourcePath.hpp"
int main()
{
sf::RenderWindow Window(sf::VideoMode(500,400),"SFML tutorial");
/* Or we can do this
* sf::RenderWindow Window
* Window.create (sf::VideoMode(800,600),"SFML tutorial");
*/
//Game loop
while(Window.isOpen())
{
sf::Event Event;
while(Window.pollEvent(Event));
{
if(Event.type == sf::Event::Closed)
{
Window.close();
std::cout << "Close" << std::endl;
}
}
}
return 0;
完成此操作后,窗口现在打开并按预期运行
另外,这是使用xcode和SFML模板制作的
编辑:刚刚创建了一个新的xcode-SFML项目,并删除了其中的一些代码,以创建一个空窗口,它看起来很糟糕。代码看起来完全一样。这很奇怪,因为它是完全相同的代码。您的问题是您声明了变量事件类型,必须将变量名称更改为小写 这样
#include <SFML/Graphics.hpp>
#include <iostream>
// Here is a small helper for you ! Have a look.
#include "ResourcePath.hpp"
int main()
{
sf::RenderWindow Window(sf::VideoMode(500,400),"SFML tutorial");
/* Or we can do this
* sf::RenderWindow Window
* Window.create (sf::VideoMode(800,600),"SFML tutorial");
*/
//Game loop
while(Window.isOpen())
{
sf::Event event;
while(Window.pollEvent(event));
{
if(event.type == sf::Event::Closed)
{
Window.close();
std::cout << "Close" << std::endl;
}
}
}
return 0;
#包括
#包括
//这里有一个小帮手给你!看一看。
#包括“ResourcePath.hpp”
int main()
{
sf::RenderWindow窗口(sf::VideoMode(500400),“SFML教程”);
/*或者我们可以这样做
*sf::RenderWindow窗口
*创建(sf::VideoMode(800600),“SFML教程”);
*/
//游戏循环
while(Window.isOpen())
{
sf::事件;
while(Window.polleevent(event));
{
如果(event.type==sf::event::Closed)
{
Window.close();
std::cout从我所看到的,不要使用if语句来检查事件,使用switch语句。在尝试轮询事件时也使用while(window.isOpen())
您是否阅读了上的教程?因为我可以保证它是学习sfml的最佳来源。请在使用其他来源之前使用它。尝试了此方法,但无效。您知道还有什么可能导致此问题吗?我正在使用的教程说使用switch语句。他们可能使用if语句,因此对我们来说很容易要习惯。我也更喜欢通过视频学习,因为如果我在阅读文档,我往往会分心和上船。不过谢谢你的提示!@aPyDeveloper我和你在同一条船上。从视频学习是我更喜欢的。但是如果你想成功,你需要阅读源代码和文档。我这样做的方式就是进入完整的学习阶段每当你感到心烦意乱时,试着重新关注自己。也给自己一些动力。谢谢你的提示。下次再试。
#include <SFML/Graphics.hpp>
#include <iostream>
// Here is a small helper for you ! Have a look.
#include "ResourcePath.hpp"
int main()
{
sf::RenderWindow Window(sf::VideoMode(500,400),"SFML tutorial");
/* Or we can do this
* sf::RenderWindow Window
* Window.create (sf::VideoMode(800,600),"SFML tutorial");
*/
//Game loop
while(Window.isOpen())
{
sf::Event event;
while(Window.pollEvent(event));
{
if(event.type == sf::Event::Closed)
{
Window.close();
std::cout << "Close" << std::endl;
}
}
}
return 0;