我想知道是否可以定义在条件中使用代码中某个点的哪些更改值。基本上是这样的:
//////////////////////////////////////////// SomeFile.cpp
#define SHUTDOWN false
while(window->isOpen())
{
if(SHUTDOWN)
window->close();
// Rest of the main loop
}
//////////////////////////////////////////// SomeOtherFile.cpp
if(Escape.isPressed())
{
#undef SHUTDOWN
#define SHUTDOWN true
}
从而导致应用程序关闭。如果不是,将具有类似的功能
RenderWindow* getWindow()
{
return window;
}
然后打电话
if(Escape.isPressed())
getWindow()->close();
最好的方法是什么?我宁愿不走那条路,因为调用键事件的类是控制主循环和窗口的类的成员,所以我必须在较小的类中设置指向包含类的指针才能调用 getWindow( ) 而且它似乎是一种更复杂的方法。但是如果我不能用预处理器指令来做到这一点,我只需要使用指向父类的指针。