Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何制作SFML VertexArray指针?_C++_Sfml_2d Games - Fatal编程技术网

C++ 如何制作SFML VertexArray指针?

C++ 如何制作SFML VertexArray指针?,c++,sfml,2d-games,C++,Sfml,2d Games,如何将内存动态分配给SFML VertexArray 我有一个包含许多精灵和菜单的游戏,其中有不同的SFML对象。因此,消除不必要的内存使用对我来说至关重要 我试图简单地做到: sf::VertexArray *example = new sf::VertexArray; 但我不能像这样设置位置和纹理坐标: example[0]->position = sf::Vector2f(1,1); [...] example[0]->texCoords = sf::Vector2f(1,1

如何将内存动态分配给SFML VertexArray

我有一个包含许多精灵和菜单的游戏,其中有不同的SFML对象。因此,消除不必要的内存使用对我来说至关重要

我试图简单地做到:

sf::VertexArray *example = new sf::VertexArray;
但我不能像这样设置位置和纹理坐标:

example[0]->position = sf::Vector2f(1,1);
[...]
example[0]->texCoords = sf::Vector2f(1,1);
[...]

有什么方法可以绕过这个问题吗?

您正在寻找
(*示例)[0]。定位
。但是,您在这里介绍的内容与内存使用量的减少无关——如果有什么关系的话,它会增加内存使用量。我建议对
auto-example=std::make_unique()
使用智能指针。但更好的是把它们都放在一个
std::vector vertex_数组中我认为这个问题有点不清楚,您遇到了什么错误?当你说“但我不能像这样设置位置和纹理坐标”时,我不知道是什么阻止了你这么做。例如,您有一个默认构造的VertexArray,但是否根据需要调整其大小?如果没有,那么您发布的代码已被破坏。。。我不确定这是否是导致你“无法设置位置和纹理坐标”的原因,或者你是否做对了,还有其他原因。这是编译器错误吗?例外?信号?到底是什么问题?@Quentin为什么会增加?我可以提前删除它。。。我不能吗?。。无论如何,谢谢你的帮助(我真的忘了那个方法tbh)@SzokeLori你可以,但是在那一点上你将不再使用它,如果你正确地确定它的生存期,堆栈分配的
VertexArray
将自己处理它。