我只是想知道是否可以使用 SFML 2.0将纹理精灵设置为全局变量。 我需要通过int main()函数以外的函数在屏幕上绘制精灵。但是,我似乎无法在函数外部声明和定义纹理和精灵。这是一些类似于我的示例代码:
#include <SFML/Graphics.hpp>
sf::Sprite spritename;
sf::Texture texturename;
texturename.loadFromFile("texture.png");
spritename.setTexture(texturename);
int main()
{
//code here
}
但是,编译器会说第4行的texturename和第5行的spritename没有存储类或类型说明符。
最佳答案
在主函数中初始化全局变量。您仍然可以通过此cpp中定义的任何其他函数访问它们。
您可能不希望将as作为全局变量,最好将它们存储在一定范围内且适当的位置,并将其传递给需要它们使用的其他函数。
sf::Sprite spritename;
sf::Texture texturename;
int main()
{
texturename.loadFromFile("texture.png");
spritename.setTexture(texturename);
}
关于c++ - 将 Sprite 作为全局变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18951714/