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