c++ - Sprite 作为全局变量?

标签 c++ global-variables textures sprite sfml

我只是想知道您是否可以使用 SFML 2.0textured 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/

相关文章:

c++ - 将数据从后台缓冲区复制到前台缓冲区

JavaScript 全局变量数组

opengl - glTexParameter 和 glSamplerParameter 有什么区别

java - JavaFX 中以编程方式生成的 TriangleMesh 的纹理坐标

c++ - 具有条件 constexpr 被调用者的 constexpr 函数

C++ g++ 线程安全构造函数

C++ 模板 : Hint template arguments to compiler?

通过全局变量选择R数据框

python - 用 swig 和 python 扩展全局 c 变量数组

c++ - OpenGL 纹理未显示